From c1dc8a31deb663e4a9a206a7b228d84a654447f1 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 14 Aug 2023 12:31:14 -0400 Subject: [PATCH 001/505] updates --- .../bitlocker/bitlocker-countermeasures.md | 25 ++++++++----------- ...r-device-encryption-overview-windows-10.md | 3 --- .../data-protection/bitlocker/index.md | 4 +-- .../data-protection/bitlocker/toc.yml | 2 +- 4 files changed, 13 insertions(+), 21 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md index 46118e83d3..24361f175e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md @@ -1,18 +1,17 @@ --- -title: BitLocker Countermeasures -description: Windows uses technologies including TPM, Secure Boot, Trusted Boot, and Early Launch Anti-malware (ELAM) to protect against attacks on the BitLocker encryption key. +title: BitLocker countermeasures +description: Windows uses technologies including TPM, Secure Boot, Trusted Boot, and Early Launch Anti-malware (ELAM) to protect against attacks on the BitLocker encryption key. ms.topic: conceptual ms.date: 11/08/2022 --- -# BitLocker Countermeasures +# BitLocker countermeasures -Windows uses technologies including trusted platform module (TPM), secure boot, and measured boot to help protect BitLocker encryption keys against attacks. BitLocker is part of a strategic approach to securing data against offline attacks through encryption technology. Data on a lost or stolen computer is vulnerable. For example, there could be unauthorized access, either by running a software attack tool against the computer or by transferring the computer's hard disk to a different computer. +Windows uses technologies including *trusted platform module (TPM)*, *Secure Boot*, and *Measured Boot* to help protect BitLocker encryption keys against attacks. BitLocker is part of a strategic approach to securing data against offline attacks through encryption technology. Data on a lost or stolen device is vulnerable. For example, there could be unauthorized access, either by running a software attack tool against the device or by transferring the device's hard disk to a different device. -BitLocker helps mitigate unauthorized data access on lost or stolen computers before the authorized operating system is started. This mitigation is done by: - -- **Encrypting volumes on a computer.** For example, BitLocker can be turned on for the operating system volume, a volume on a fixed drive. or removable data drive (such as a USB flash drive, SD card, etc.) Turning on BitLocker for the operating system volume encrypts all system files on the volume, including the paging files and hibernation files. The only exception is for the System partition, which includes the Windows Boot Manager and minimal boot collateral required for decryption of the operating system volume after the key is unsealed. +BitLocker helps mitigate unauthorized data access on lost or stolen devices before the authorized operating system is started. This mitigation is done by: +- **Encrypting volumes.** For example, BitLocker can be turned on for the operating system volume, a volume on a fixed drive, or removable data drive (such as a USB flash drive, SD card, etc.). Turning on BitLocker for the operating system volume encrypts all system files on the volume, including the paging files and hibernation files. The only exception is for the System partition, which includes the Windows Boot Manager and minimal boot collateral required for decryption of the operating system volume after the key is unsealed. - **Ensuring the integrity of early boot components and boot configuration data.** On devices that have a TPM version 1.2 or higher, BitLocker uses the enhanced security capabilities of the TPM to make data accessible only if the computer's BIOS firmware code and configuration, original boot sequence, boot components, and BCD configuration all appear unaltered and the encrypted disk is located in the original computer. On systems that use TPM PCR[7], BCD setting changes deemed safe are permitted to improve usability. The next sections provide more details about how Windows protects against various attacks on the BitLocker encryption keys in Windows 11, Windows 10, Windows 8.1, and Windows 8. @@ -21,16 +20,15 @@ For more information about how to enable the best overall security configuration ## Protection before startup -Before Windows starts, security features implemented as part of the device hardware and firmware must be relied on, including TPM and secure boot. Fortunately, many modern computers feature a TPM and secure boot. +Before Windows starts, security features implemented as part of the device hardware and firmware must be relied on, including TPM and secure boot. These features help ensure that the device hasn't been tampered with while the system was offline. The following sections provide more details about how Windows uses these features to protect against attacks on the BitLocker encryption keys. ### Trusted Platform Module -A trusted platform module (TPM) is a microchip designed to provide basic security-related functions, primarily involving encryption keys. On some platforms, TPM can alternatively be implemented as a part of secure firmware. BitLocker binds encryption keys with the TPM to ensure that a computer hasn't been tampered with while the system was offline. For more info about TPM, see [Trusted Platform Module](/windows/device-security/tpm/trusted-platform-module-overview). +A TPM is a microchip designed to provide basic security-related functions, primarily involving encryption keys. BitLocker binds encryption keys with the TPM to ensure that a computer hasn't been tampered with while the system was offline. For more information about TPM, see [Trusted Platform Module](/windows/device-security/tpm/trusted-platform-module-overview). -### UEFI and secure boot - -Unified Extensible Firmware Interface (UEFI) is a programmable boot environment that initializes devices and starts the operating system's bootloader. +### UEFI and Secure Boot +Unified Extensible Firmware Interface (UEFI) is a programmable boot environment that initializes devices and starts the operating system's bootloader.\ The UEFI specification defines a firmware execution authentication process called [Secure Boot](../../system-security/secure-the-windows-10-boot-process.md). Secure Boot blocks untrusted firmware and bootloaders (signed or unsigned) from being able to start on the system. By default, BitLocker provides integrity protection for Secure Boot by utilizing the TPM PCR[7] measurement. An unauthorized EFI firmware, EFI boot application, or bootloader can't run and acquire the BitLocker key. @@ -39,9 +37,6 @@ By default, BitLocker provides integrity protection for Secure Boot by utilizing To defend against malicious reset attacks, BitLocker uses the TCG Reset Attack Mitigation, also known as MOR bit (Memory Overwrite Request), before extracting keys into memory. ->[!NOTE] ->This does not protect against physical attacks where an attacker opens the case and attacks the hardware. - ## Security policies The next sections cover pre-boot authentication and DMA policies that can provide additional protection for BitLocker. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md index d93426076e..1e836d3606 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md @@ -10,9 +10,6 @@ ms.date: 11/08/2022 # Overview of BitLocker device encryption -This article explains how BitLocker Device Encryption can help protect data on devices running Windows. See [BitLocker](index.md) for a general overview and list of articles. - -When users travel, their organization's confidential data goes with them. Wherever confidential data is stored, it must be protected against unauthorized access. Windows has a long history of providing at-rest data-protection solutions that guard against nefarious attackers, beginning with the Encrypting File System in the Windows 2000 operating system. More recently, BitLocker has provided encryption for full drives and portable drives. Windows consistently improves data protection by improving existing options and providing new strategies. ## Data Protection in Windows 11, Windows 10, and Windows 7 diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index 2464ef0104..784d94dfe0 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -1,11 +1,11 @@ --- title: BitLocker overview -description: Learn about BitLocker requirements, practical applications, and deprecated features. +description: Learn about BitLocker practical applications and requirements. ms.collection: - highpri - tier1 ms.topic: overview -ms.date: 08/03/2023 +ms.date: 08/14/2023 --- # BitLocker overview diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index 1fd7418979..9b47d863ac 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -1,7 +1,7 @@ items: - name: Overview href: index.md -- name: BitLocker device encryption +- name: ___ BitLocker device encryption href: bitlocker-device-encryption-overview-windows-10.md - name: BitLocker Countermeasures href: bitlocker-countermeasures.md From 00e99c9d0cae1474289ba0f3d46dce6964ba7454 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 19 Sep 2023 18:24:08 -0400 Subject: [PATCH 002/505] test --- .../data-protection/bitlocker/configure.md | 1391 +++++++++++++++++ 1 file changed, 1391 insertions(+) create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/configure.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md new file mode 100644 index 0000000000..bd507a6b15 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -0,0 +1,1391 @@ +--- +title: BitLocker settings list +description: Learn about the settings to configure BitLocker. +ms.collection: + - highpri + - tier1 +ms.topic: reference +ms.date: 09/19/2023 +--- + +# BitLocker settings list + +## TEST 1 + +### Allow devices with Secure Boot and protected DMA ports to opt out of preboot PIN + +With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. + +| | Setting | +|------------------|------------------------------------------------------------------------------------------------------------------| +| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | +| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | + +### Allow network unlock at startup + +With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. + +| | Setting | +|------------------|------------------------------------------------------------------------------------------------------------------| +| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | +| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | + +### Require additional authentication at startup + +With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. + +| | Setting | +|------------------|------------------------------------------------------------------------------------------------------------------| +| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | +| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | + +## TEST 2 + +### Allow devices with Secure Boot and protected DMA ports to opt out of preboot PIN 1 + +With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. + +| | Setting | +|------------------|------------------------------------------------------------------------------------------------------------------| +| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | +| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | + +#### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Intune**](#tab/intune) + +./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) + +#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **CSP**](#tab/csp) + +Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** + +### Allow network unlock at startup 1 + +With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. + +| | Setting | +|------------------|------------------------------------------------------------------------------------------------------------------| +| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | +| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | + +#### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Intune**](#tab/intune) + +./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) + +#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **CSP**](#tab/csp) + +Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** + +### Require additional authentication at startup 1 + +With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. + +| | Setting | +|------------------|------------------------------------------------------------------------------------------------------------------| +| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | +| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | + +#### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Intune**](#tab/intune) + +./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) + +#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **CSP**](#tab/csp) + +Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** +--- + +The following sections provide a comprehensive list of BitLocker group policy settings that are organized by usage. BitLocker group policy settings include settings for specific drive types (operating system drives, fixed data drives, and removable data drives) and settings that are applied to all drives. + +The following policy settings can be used to determine how a BitLocker-protected drive can be unlocked. + +- [Allow devices with Secure Boot and protected DMA ports to opt out of preboot PIN](#allow-devices-with-secure-boot-and-protected-dma-ports-to-opt-out-of-preboot-pin) +- [Allow network unlock at startup](#allow-network-unlock-at-startup) +- [Require additional authentication at startup](#require-additional-authentication-at-startup) +- [Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup) +- [Configure minimum PIN length for startup](#configure-minimum-pin-length-for-startup) +- [Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked) +- [Disallow standard users from changing the PIN or password](#disallow-standard-users-from-changing-the-pin-or-password) +- [Configure use of passwords for operating system drives](#configure-use-of-passwords-for-operating-system-drives) +- [Require additional authentication at startup (Windows Server 2008 and Windows Vista)](#require-additional-authentication-at-startup-windows-server-2008-and-windows-vista) +- [Configure use of smart cards on fixed data drives](#configure-use-of-smart-cards-on-fixed-data-drives) +- [Configure use of passwords on fixed data drives](#configure-use-of-passwords-on-fixed-data-drives) +- [Configure use of smart cards on removable data drives](#configure-use-of-smart-cards-on-removable-data-drives) +- [Configure use of passwords on removable data drives](#configure-use-of-passwords-on-removable-data-drives) +- [Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance) +- [Enable use of BitLocker authentication requiring preboot keyboard input on slates](#enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates) + +The following policy settings are used to control how users can access drives and how they can use BitLocker on their computers. + +- [Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker) +- [Deny write access to removable drives not protected by BitLocker](#deny-write-access-to-removable-drives-not-protected-by-bitlocker) +- [Control use of BitLocker on removable drives](#control-use-of-bitlocker-on-removable-drives) + +The following policy settings determine the encryption methods and encryption types that are used with BitLocker. + +- [Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength) +- [Configure use of hardware-based encryption for fixed data drives](#configure-use-of-hardware-based-encryption-for-fixed-data-drives) +- [Configure use of hardware-based encryption for operating system drives](#configure-use-of-hardware-based-encryption-for-operating-system-drives) +- [Configure use of hardware-based encryption for removable data drives](#configure-use-of-hardware-based-encryption-for-removable-data-drives) +- [Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives) +- [Enforce drive encryption type on operating system drives](#enforce-drive-encryption-type-on-operating-system-drives) +- [Enforce drive encryption type on removable data drives](#enforce-drive-encryption-type-on-removable-data-drives) + +The following policy settings define the recovery methods that can be used to restore access to a BitLocker-protected drive if an authentication method fails or is unable to be used. + +- [Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered) +- [Choose how users can recover BitLocker-protected drives (Windows Server 2008 and Windows Vista)](#choose-how-users-can-recover-bitlocker-protected-drives-windows-server-2008-and-windows-vista) +- [Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista)](#store-bitlocker-recovery-information-in-active-directory-domain-services-windows-server-2008-and-windows-vista) +- [Choose default folder for recovery password](#choose-default-folder-for-recovery-password) +- [Choose how BitLocker-protected fixed drives can be recovered](#choose-how-bitlocker-protected-fixed-drives-can-be-recovered) +- [Choose how BitLocker-protected removable drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Configure the pre-boot recovery message and URL](#configure-the-pre-boot-recovery-message-and-url) + +The following policies are used to support customized deployment scenarios in an organization. + +- [Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation) +- [Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization) +- [Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart) +- [Configure TPM platform validation profile for BIOS-based firmware configurations](#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations) +- [Configure TPM platform validation profile (Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2)](#configure-tpm-platform-validation-profile-windows-vista-windows-server-2008-windows-7-windows-server-2008-r2) +- [Configure TPM platform validation profile for native UEFI firmware configurations](#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations) +- [Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery) +- [Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile) +- [Allow access to BitLocker-protected fixed data drives from earlier versions of Windows](#allow-access-to-bitlocker-protected-fixed-data-drives-from-earlier-versions-of-windows) +- [Allow access to BitLocker-protected removable data drives from earlier versions of Windows](#allow-access-to-bitlocker-protected-removable-data-drives-from-earlier-versions-of-windows) + +### Allow devices with secure boot and protected DMA ports to opt out of preboot PIN + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, TPM-only protection can be allowed for newer, more secure devices, such as devices that support Modern Standby or HSTI, while requiring PIN on older devices.| +|**Introduced**|Windows 10, version 1703| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|This setting overrides the **Require startup PIN with TPM** option of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy on compliant hardware.| +|**When enabled**|Users on Modern Standby and HSTI compliant devices will have the choice to turn on BitLocker without preboot authentication.| +|**When disabled or not configured**|The options of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy apply.| + +#### Reference: Allow devices with secure boot and protected DMA ports to opt out of preboot PIN + +The preboot authentication option **Require startup PIN with TPM** of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy is often enabled to help ensure security for older devices that don't support Modern Standby. But visually impaired users have no audible way to know when to enter a PIN. +This setting enables an exception to the PIN-required policy on secure hardware. + +### Allow network unlock at startup + +This policy controls a portion of the behavior of the Network Unlock feature in BitLocker. This policy is required to enable BitLocker Network Unlock on a network because it allows clients running BitLocker to create the necessary network key protector during encryption. + +This policy is used with the BitLocker Drive Encryption Network Unlock Certificate security policy (located in the **Public Key Policies** folder of Local Computer Policy) to allow systems that are connected to a trusted network to properly utilize the Network Unlock feature. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be controlled whether a BitLocker-protected computer that is connected to a trusted local area network and joined to a domain can create and use network key protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|None| +|**When enabled**|Clients configured with a BitLocker Network Unlock certificate can create and use Network Key Protectors.| +|**When disabled or not configured**|Clients can't create and use Network Key Protectors.| + +#### Reference: Allow network unlock at startup + +To use a network key protector to unlock the computer, the computer and the server that hosts BitLocker Drive Encryption Network Unlock must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create a network key protector and to protect the information exchange with the server to unlock the computer. The Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Public Key Policies** > **BitLocker Drive Encryption Network Unlock Certificate** can be used on the domain controller to distribute this certificate to computers in the organization. This unlock method uses the TPM on the computer, so computers that don't have a TPM can't create network key protectors to automatically unlock by using Network Unlock. + +> [!NOTE] +> For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or can't connect to the domain controller at startup. + +For more information about Network Unlock feature, see [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md). + +### Require additional authentication at startup + +This policy setting is used to control which unlock options are available for operating system drives. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|If one authentication method is required, the other methods can't be allowed. Use of BitLocker with a TPM startup key or with a TPM startup key and a PIN must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.| +|**When enabled**|Users can configure advanced startup options in the BitLocker Setup Wizard.| +|**When disabled or not configured**|Users can configure only basic options on computers with a TPM.

Only one of the additional authentication options can be required at startup; otherwise, a policy error occurs.| + +#### Reference: Require additional authentication at startup + +If BitLocker needs to be used on a computer without a TPM, select **Allow BitLocker without a compatible TPM**. In this mode, a password or USB drive is required for startup. The USB drive stores the startup key that is used to encrypt the drive. When the USB drive is inserted, the startup key is authenticated, and the operating system drive is accessible. If the USB drive is lost or unavailable, BitLocker recovery is required to access the drive. + +On a computer with a compatible TPM, additional authentication methods can be used at startup to improve protection for encrypted data. When the computer starts, it can use: + +- Only the TPM +- Insertion of a USB flash drive containing the startup key +- The entry of a 4-digit to 20-digit personal identification number (PIN) +- A combination of the PIN and the USB flash drive + +There are four options for TPM-enabled computers or devices: + +- Configure TPM startup + - Allow TPM + - Require TPM + - Do not allow TPM +- Configure TPM startup PIN + + - Allow startup PIN with TPM + - Require startup PIN with TPM + - Do not allow startup PIN with TPM + +- Configure TPM startup key + - Allow startup key with TPM + - Require startup key with TPM + - Do not allow startup key with TPM + +- Configure TPM startup key and PIN + - Allow TPM startup key with PIN + - Require startup key and PIN with TPM + - Do not allow TPM startup key with PIN + +### Allow enhanced PINs for startup + +This policy setting permits the use of enhanced PINs when an unlock method that includes a PIN is used. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured whether enhanced startup PINs are used with BitLocker.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|None| +|**When enabled**|All new BitLocker startup PINs that are set will be enhanced PINs. Existing drives that were protected by using standard startup PINs aren't affected.| +|**When disabled or not configured**|Enhanced PINs won't be used.| + +#### Reference: Allow enhanced PINs for startup + +Enhanced startup PINs permit the use of characters (including uppercase and lowercase letters, symbols, numbers, and spaces). This policy setting is applied when BitLocker is turned on. + +> [!IMPORTANT] +> Not all computers support enhanced PIN characters in the preboot environment. It's strongly recommended that users perform a system check during the BitLocker setup to verify that enhanced PIN characters can be used. + +### Configure minimum PIN length for startup + +This policy setting is used to set a minimum PIN length when an unlock method that includes a PIN is used. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured a minimum length for a TPM startup PIN. This policy setting is applied when BitLocker is turned on. The startup PIN must have a minimum length of four digits, and it can have a maximum length of 20 digits. By default, the minimum PIN length is 6.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|None| +|**When enabled**|The required minimum length of startup PINs set by users can be set between 4 and 20 digits.| +|**When disabled or not configured**|Users can configure a startup PIN of any length between 6 and 20 digits.| + +#### Reference: Configure minimum PIN length for startup + +This policy setting is applied when BitLocker is turned on. The startup PIN must have a minimum length of four digits and can have a maximum length of 20 digits. + +Originally, BitLocker allowed a length from 4 to 20 characters for a PIN. Windows Hello has its own PIN for sign-in, length of which can be 4 to 127 characters. Both BitLocker and Windows Hello use the TPM to prevent PIN brute-force attacks. + +The TPM can be configured to use Dictionary Attack Prevention parameters ([lockout threshold and lockout duration](../../../hardware-security/tpm/trusted-platform-module-services-group-policy-settings.md) to control how many failed authorizations attempts are allowed before the TPM is locked out, and how much time must elapse before another attempt can be made. + +The Dictionary Attack Prevention Parameters provide a way to balance security needs with usability. For example, when BitLocker is used with a TPM + PIN configuration, the number of PIN guesses is limited over time. A TPM 2.0 in this example could be configured to allow only 32 PIN guesses immediately, and then only one more guess every two hours. This number of attempts totals to a maximum of about 4415 guesses per year. If the PIN is four digits, all 9999 possible PIN combinations could be attempted in a little over two years. + +Increasing the PIN length requires a greater number of guesses for an attacker. In that case, the lockout duration between each guess can be shortened to allow legitimate users to retry a failed attempt sooner, while maintaining a similar level of protection. + +Beginning with Windows 10, version 1703, the minimum length for the BitLocker PIN was increased to six characters to better align with other Windows features that use TPM 2.0, including Windows Hello. To help organizations with the transition, beginning with Windows 10, version 1709 and Windows 10, version 1703 with the October 2017 [cumulative update](https://support.microsoft.com/help/4018124) installed, the BitLocker PIN length is six characters by default, but it can be reduced to four characters. If the minimum PIN length is reduced from the default of six characters, then the TPM 2.0 lockout period will be extended. + +### Disable new DMA devices when this computer is locked + +This policy setting allows blocking of direct memory access (DMA) for all hot pluggable PCI ports until a user signs in to Windows. + +| Item | Info | +|:---|:---| +|**Policy description**|This setting helps prevent attacks that use external PCI-based devices to access BitLocker keys.| +|**Introduced**|Windows 10, version 1703| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| +|**Conflicts**|None| +|**When enabled**|Every time the user locks the screen, DMA will be blocked on hot pluggable PCI ports until the user signs in again.| +|**When disabled or not configured**|DMA is available on hot pluggable PCI devices if the device is turned on, regardless of whether a user is signed in.| + +#### Reference: Disable new DMA devices when this computer is locked + +This policy setting is only enforced when BitLocker or device encryption is enabled. As explained in the [Microsoft Security Guidance blog](/archive/blogs/secguide/issue-with-bitlockerdma-setting-in-windows-10-fall-creators-update-v1709), in some cases when this setting is enabled, internal, PCI-based peripherals can fail, including wireless network drivers and input and audio peripherals. This problem is fixed in the [April 2018 quality update](https://support.microsoft.com/help/4093105). + +### Disallow standard users from changing the PIN or password + +This policy setting allows configuration of whether standard users are allowed to change the PIN or password that is used to protect the operating system drive. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured whether standard users are allowed to change the PIN or password used to protect the operating system drive.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|None| +|**When enabled**|Standard users aren't allowed to change BitLocker PINs or passwords.| +|**When disabled or not configured**|Standard users are permitted to change BitLocker PINs or passwords.| + +#### Reference: Disallow standard users from changing the PIN or password + +To change the PIN or password, the user must be able to provide the current PIN or password. This policy setting is applied when BitLocker is turned on. + +### Configure use of passwords for operating system drives + +This policy controls how non-TPM based systems utilize the password protector. Used with the **Password must meet complexity requirements** policy, this policy allows administrators to require password length and complexity for using the password protector. By default, passwords must be eight characters in length. Complexity configuration options determine how important domain connectivity is for the client. For the strongest password security, administrators should choose **Require password complexity** because it requires domain connectivity, and it requires that the BitLocker password meets the same password complexity requirements as domain sign-in passwords. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, the constraints for passwords that are used to unlock operating system drives that are protected with BitLocker can be specified.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|Passwords can't be used if FIPS-compliance is enabled.
**NOTE:** The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting, which is located at *Computer Configuration* > *Windows Settings* > *Security Settings* > *Local Policies* > *Security Options* specifies whether FIPS-compliance is enabled.
| +|**When enabled**|Users can configure a password that meets the defined requirements. To enforce complexity requirements for the password, select **Require complexity**.| +|**When disabled or not configured**|The default length constraint of eight characters will apply to operating system drive passwords and no complexity checks will occur.| + +#### Reference: Configure use of passwords for operating system drives + +If non-TPM protectors are allowed on operating system drives, a password, enforcement of complexity requirements on the password, and configuration of a minimum length for the password can all be provisioned. For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements**, which is located at *Computer Configuration* > *Windows Settings* > *Security Settings* > *Account Policies* > *Password Policy*, must be also enabled. + +> [!NOTE] +> These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. + +When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. If no domain controllers are found, the password will be accepted regardless of actual password complexity, and the drive will be encrypted by using that password as a protector. When set to **Do not allow complexity**, there's no password complexity validation. + +Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the desired number of characters in the **Minimum password length** box. + +When this policy setting is enabled, the option **Configure password complexity for operating system drives** can be set to: + +- Allow password complexity +- Deny password complexity +- Require password complexity + +### Require additional authentication at startup (Windows Server 2008 and Windows Vista) + +This policy setting is used to control what unlock options are available for computers running Windows Server 2008 or Windows Vista. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be controlled whether the BitLocker Setup Wizard on computers running Windows Vista or Windows Server 2008 can set up an additional authentication method that is required each time the computer starts.| +|**Introduced**|Windows Server 2008 and Windows Vista| +|**Drive type**|Operating system drives (Windows Server 2008 and Windows Vista)| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|If an additional authentication method is chosen, other authentication methods can't be allowed.| +|**When enabled**|The BitLocker Setup Wizard displays the page that allows the user to configure advanced startup options for BitLocker. Setting options can be further configured for computers with or without a TPM.| +|**When disabled or not configured**|The BitLocker Setup Wizard displays basic steps that allow users to enable BitLocker on computers with a TPM. In this basic wizard, no additional startup key or startup PIN can be configured.| + +#### Reference: Require additional authentication at startup (Windows Server 2008 and Windows Vista) + +On a computer with a compatible TPM, two authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can prompt users to insert a USB drive that contains a startup key. It can also prompt users to enter a startup PIN with a length between 6 and 20 digits. + +A USB drive that contains a startup key is needed on computers without a compatible TPM. Without a TPM, BitLocker-encrypted data is protected solely by the key material that is on this USB drive. + +There are two options for TPM-enabled computers or devices: + +- Configure TPM startup PIN + - Allow startup PIN with TPM + - Require startup PIN with TPM + - Do not allow startup PIN with TPM + +- Configure TPM startup key + - Allow startup key with TPM + - Require startup key with TPM + - Do not allow startup key with TPM + +These options are mutually exclusive. If a startup key is required, a startup PIN isn't allowed. If startup PIN is required, startup key isn't allowed. If these policies are in conflict, a policy error will occur. + +To hide the advanced page on a TPM-enabled computer or device, set these options to **Do not allow** for the startup key and for the startup PIN. + +### Configure use of smart cards on fixed data drives + +This policy setting is used to require, allow, or deny the use of smart cards with fixed data drives. + +| Item | Info | +|:---|:---| +|**Policy description**|This policy setting can be used to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives on a computer.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Fixed data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| +|**Conflicts**|To use smart cards with BitLocker, the object identifier setting in the **Computer Configuration\Administrative Templates\BitLocker Drive Encryption\Validate smart card certificate usage rule compliance** policy setting may need to be modified to match the object identifier of the smart card certificates.| +|**When enabled**|Smart cards can be used to authenticate user access to the drive. Smart card authentication can be required by selecting the **Require use of smart cards on fixed data drives** check box.| +|**When disabled**|Users can't use smart cards to authenticate their access to BitLocker-protected fixed data drives.| +|**When not configured**|Smart cards can be used to authenticate user access to a BitLocker-protected drive.| + +#### Reference: Configure use of smart cards on fixed data drives + +> [!NOTE] +> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive by using any of the protectors that are available on the drive. + +### Configure use of passwords on fixed data drives + +This policy setting is used to require, allow, or deny the use of passwords with fixed data drives. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be specified whether a password is required to unlock BitLocker-protected fixed data drives.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Fixed data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| +|**Conflicts**|To use password complexity, the **Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\Password must meet complexity requirements** policy setting must also be enabled.| +|**When enabled**|Users can configure a password that meets the defined requirements. To require the use of a password, select **Require password for fixed data drive**. To enforce complexity requirements on the password, select **Require complexity**.| +|**When disabled**|The user isn't allowed to use a password.| +|**When not configured**|Passwords are supported with the default settings, which don't include password complexity requirements and require only eight characters.| + +#### Reference: Configure use of passwords on fixed data drives + +When set to **Require complexity**, a connection to a domain controller is necessary to validate the complexity of the password when BitLocker is enabled. + +When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. However, if no domain controllers are found, the password is accepted regardless of the actual password complexity, and the drive is encrypted by using that password as a protector. + +When set to **Do not allow complexity**, no password complexity validation is performed. + +Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the desired number of characters in the **Minimum password length** box. + +> [!NOTE] +> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. + +For the complexity requirement setting to be effective, the Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy** > **Password must meet complexity requirements** must also be enabled. This policy setting is configured on a per-computer basis. The policy setting also applies to both local user accounts and domain user accounts. Because the password filter that's used to validate password complexity is located on the domain controllers, local user accounts can't access the password filter because they're not authenticated for domain access. When this policy setting is enabled, if a local user account signs in, and a drive is attempted to be encrypted or a password changed on an existing BitLocker-protected drive, an **Access denied** error message is displayed. In this situation, the password key protector can't be added to the drive. + +Enabling this policy setting requires that a device is connected to a domain before adding a password key protector to a BitLocker-protected drive. Users who work remotely and have periods of time in which they can't connect to the domain should be made aware of this requirement so that they can schedule a time when they'll be connected to the domain to turn on BitLocker or to change a password on a BitLocker-protected data drive. + +> [!IMPORTANT] +> Passwords can't be used if FIPS compliance is enabled. The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting in *Computer Configuration* > *Windows Settings* > *Security Settings* > *Local Policies* > *Security Options* specifies whether FIPS compliance is enabled. + +### Configure use of smart cards on removable data drives + +This policy setting is used to require, allow, or deny the use of smart cards with removable data drives. + +| Item | Info | +|:---|:---| +|**Policy description**|This policy setting can be used to specify whether smart cards can be used to authenticate user access to BitLocker-protected removable data drives on a computer.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Removable data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| +|**Conflicts**|To use smart cards with BitLocker, the object identifier setting in the **Computer Configuration** > **Administrative Templates** > **BitLocker Drive Encryption** > **Validate smart card certificate usage rule compliance** policy setting may also need to be modified to match the object identifier of the smart card certificates.| +|**When enabled**|Smart cards can be used to authenticate user access to the drive. Smart card authentication can be required by selecting the **Require use of smart cards on removable data drives** check box.| +|**When disabled or not configured**|Users aren't allowed to use smart cards to authenticate their access to BitLocker-protected removable data drives.| +|**When not configured**|Smart cards are available to authenticate user access to a BitLocker-protected removable data drive.| + +#### Reference: Configure use of smart cards on removable data drives + +> [!NOTE] +> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. + +### Configure use of passwords on removable data drives + +This policy setting is used to require, allow, or deny the use of passwords with removable data drives. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be specified whether a password is required to unlock BitLocker-protected removable data drives.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Removable data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| +|**Conflicts**|To use password complexity, the **Password must meet complexity requirements** policy setting, which is located at **Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy** must also be enabled.| +|**When enabled**|Users can configure a password that meets the defined requirements. To require the use of a password, select **Require password for removable data drive**. To enforce complexity requirements on the password, select **Require complexity**.| +|**When disabled**|The user isn't allowed to use a password.| +|**When not configured**|Passwords are supported with the default settings, which don't include password complexity requirements and require only eight characters.| + +#### Reference: Configure use of passwords on removable data drives + +If use of passwords is allowed, requiring a password to be used, enforcement of password complexity requirements, and password minimum length can all be configured. For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements**, which is located at *Computer Configuration* > *Windows Settings* > *Security Settings* > *Account Policies* > *Password Policy*, must also be enabled. + +> [!NOTE] +> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. + +Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the wanted number of characters in the **Minimum password length** box. + +When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity of the password. + +When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. However, if no domain controllers are found, the password is still be accepted regardless of actual password complexity and the drive is encrypted by using that password as a protector. + +When set to **Do not allow complexity**, no password complexity validation is done. + +> [!NOTE] +> Passwords can't be used if FIPS compliance is enabled. The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** specifies whether FIPS compliance is enabled. + +For information about this setting, see [System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing](../../../threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md). + +### Validate smart card certificate usage rule compliance + +This policy setting is used to determine what certificate to use with BitLocker. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, an object identifier from a smart card certificate can be associated to a BitLocker-protected drive.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Fixed and removable data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| +|**Conflicts**|None| +|**When enabled**|The object identifier that is specified in the **Object identifier** setting must match the object identifier in the smart card certificate.| +|**When disabled or not configured**|The default object identifier is used.| + +#### Reference: Validate smart card certificate usage rule compliance + +This policy setting is applied when BitLocker is turned on. + +The object identifier is specified in the extended key usage (EKU) of a certificate. BitLocker can identify which certificates can be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. + +The default object identifier is 1.3.6.1.4.1.311.67.1.1. + +> [!NOTE] +> BitLocker doesn't require that a certificate have an EKU attribute; however, if one is configured for the certificate, it must be set to an object identifier that matches the object identifier configured for BitLocker. + +### Enable use of BitLocker authentication requiring preboot keyboard input on slates + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, users can be allowed to enable authentication options that require user input from the preboot environment, even if the platform indicates a lack of preboot input capability.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Operating system drive| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|None| +|**When enabled**|Devices must have an alternative means of preboot input (such as an attached USB keyboard).| +|**When disabled or not configured**|The Windows Recovery Environment must be enabled on tablets to support entering the BitLocker recovery password.| + +#### Reference: Enable use of BitLocker authentication requiring preboot keyboard input on slates + +The Windows touch keyboard (such as used by tablets) isn't available in the preboot environment where BitLocker requires additional information, such as a PIN or password. + +It's recommended that administrators enable this policy only for devices that are verified to have an alternative means of preboot input, such as attaching a USB keyboard. + +When the Windows Recovery Environment (WinRE) isn't enabled and this policy isn't enabled, BitLocker can't be turned on a device that uses the Windows touch keyboard. + +If this policy setting isn't enabled, the following options in the **Require additional authentication at startup** policy might not be available: + +- Configure TPM startup PIN: Required and Allowed +- Configure TPM startup key and PIN: Required and Allowed +- Configure use of passwords for operating system drives + +### Deny write access to fixed drives not protected by BitLocker + +This policy setting is used to require encryption of fixed drives prior to granting Write access. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be set whether BitLocker protection is required for fixed data drives to be writable on a computer.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Fixed data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| +|**Conflicts**|See the Reference section for a description of conflicts.| +|**When enabled**|All fixed data drives that aren't BitLocker-protected are mounted as Read-only. If the drive is protected by BitLocker, it's mounted with Read and Write access.| +|**When disabled or not configured**|All fixed data drives on the computer are mounted with Read and Write access.| + +#### Reference: Deny write access to fixed drives not protected by BitLocker + +This policy setting is applied when BitLocker is turned on. + +Conflict considerations include: + +1. When this policy setting is enabled, users receive **Access denied** error messages when they try to save data to unencrypted fixed data drives. See the Reference section for additional conflicts. + +2. If `BdeHdCfg.exe` is run on a computer when this policy setting is enabled, the following issues could be encountered: + + - If it was attempted to shrink a drive to create the system drive, the drive size is successfully reduced, and a raw partition is created. However, the raw partition isn't formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** + + - If it was attempted to use unallocated space to create the system drive, a raw partition will be created. However, the raw partition won't be formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** + + - If it was attempted to merge an existing drive into the system drive, the tool fails to copy the required boot file onto the target drive to create the system drive. The following error message is displayed: **BitLocker setup failed to copy boot files. You may need to manually prepare your drive for BitLocker.** + +3. If this policy setting is enforced, a hard drive can't be repartitioned because the drive is protected. If computers are being upgrading in an organization from a previous version of Windows, and those computers were configured with a single partition, the required BitLocker system partition should be created before applying this policy setting to the computers. + +### Deny write access to removable drives not protected by BitLocker + +This policy setting is used to require that removable drives are encrypted prior to granting Write access, and to control whether BitLocker-protected removable drives that were configured in another organization can be opened with Write access. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured whether BitLocker protection is required for a computer to be able to write data to a removable data drive.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Removable data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| +|**Conflicts**|See the Reference section for a description of conflicts.| +|**When enabled**|All removable data drives that aren't BitLocker-protected are mounted as Read-only. If the drive is protected by BitLocker, it's mounted with Read and Write access.| +|**When disabled or not configured**|All removable data drives on the computer are mounted with Read and Write access.| + +#### Reference: Deny write access to removable drives not protected by BitLocker + +If the **Deny write access to devices configured in another organization** option is selected, only drives with identification fields that match the computer's identification fields are given Write access. When a removable data drive is accessed, it's checked for a valid identification field and allowed identification fields. These fields are defined by the **Provide the unique identifiers for your organization** policy setting. + +> [!NOTE] +> This policy setting can be overridden with the policy settings under **User Configuration** > **Administrative Templates** > **System** > **Removable Storage Access**. If the **Removable Disks: Deny write access** policy setting is enabled, this policy setting will be ignored. + +Conflict considerations include: + +1. Use of BitLocker with the TPM plus a startup key or with the TPM plus a PIN and startup key must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled. + +2. Use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled. + +3. The **Provide the unique identifiers for your organization** policy setting must be enabled if Write access needs to be denied to drives that were configured in another organization. + +### Control use of BitLocker on removable drives + +This policy setting is used to prevent users from turning BitLocker on or off on removable data drives. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be controlled the use of BitLocker on removable data drives.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Removable data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| +|**Conflicts**|None| +|**When enabled**|Property settings can be selected that control how users can configure BitLocker.| +|**When disabled**|Users can't use BitLocker on removable data drives.| +|**When not configured**|Users can use BitLocker on removable data drives.| + +#### Reference: Control use of BitLocker on removable drives + +This policy setting is applied when BitLocker is turned on. + +For information about suspending BitLocker protection, see [BitLocker Basic Deployment](bitlocker-basic-deployment.md). + +The options for choosing property settings that control how users can configure BitLocker are: + +- **Allow users to apply BitLocker protection on removable data drives** Enables the user to run the BitLocker Setup Wizard on a removable data drive. + +- **Allow users to suspend and decrypt BitLocker on removable data drives** Enables the user to remove BitLocker from the drive or to suspend the encryption while performing maintenance. + +### Choose drive encryption method and cipher strength + +This policy setting is used to control the encryption method and cipher strength. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be controlled the encryption method and strength for drives.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|All drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| +|**Conflicts**|None| +|**When enabled**|An encryption algorithm and key cipher strength for BitLocker can be chosen to use to encrypt drives.| +|**When disabled or not configured**|Beginning with Windows 10, version 1511, BitLocker uses the default encryption method of XTS-AES 128-bit or the encryption method that is specified by the setup script. + +#### Reference: Choose drive encryption method and cipher strength + +The values of this policy determine the strength of the cipher that BitLocker uses for encryption. Enterprises may want to control the encryption level for increased security (AES-256 is stronger than AES-128). + +If this setting is enabled, it can be configured an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. + +- For fixed and operating system drives, it's recommended to use the XTS-AES algorithm. + +- For removable drives, AES-CBC 128-bit or AES-CBC 256-bit should be used if the drive will be used in other devices that aren't running Windows 10, version 1511 or later. + +Changing the encryption method has no effect if the drive is already encrypted or if encryption is in progress. In these cases, this policy setting is ignored. + +> [!WARNING] +> This policy doesn't apply to encrypted drives. Encrypted drives utilize their own algorithm, which is set by the drive during partitioning. + +When this policy setting is disabled or not configured, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method that is specified in the setup script. + +### Configure use of hardware-based encryption for fixed data drives + +This policy controls how BitLocker reacts to systems that are equipped with encrypted drives when they're used as fixed data volumes. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. + +| Item | Info | +|:---|:---| +|**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on fixed data drives and to specify which encryption algorithms BitLocker can use with hardware-based encryption.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Fixed data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| +|**Conflicts**|None| +|**When enabled**|Additional options can be specified that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that don't support hardware-based encryption. It can also be specified to restrict the encryption algorithms and cipher suites that are used with hardware-based encryption.| +|**When disabled**|BitLocker can't use hardware-based encryption with fixed data drives, and BitLocker software-based encryption is used by default when the drive in encrypted.| +|**When not configured**|BitLocker software-based encryption is used irrespective of hardware-based encryption ability.| + +#### Reference: Configure use of hardware-based encryption for fixed data drives + +> [!NOTE] +> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. + +The encryption algorithm that is used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm that is configured on the drive to encrypt the drive. The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option of this setting enables restriction of the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm that is set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID), for example: + +- Advanced Encryption Standard (AES) 128 in Cipher Block Chaining (CBC) mode OID: 2.16.840.1.101.3.4.1.2 +- AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + +### Configure use of hardware-based encryption for operating system drives + +This policy controls how BitLocker reacts when encrypted drives are used as operating system drives. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. + +| Item | Info | +|:---|:---| +|**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on operating system drives and specifies which encryption algorithms it can use with hardware-based encryption.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|None| +|**When enabled**|Additional options can be specified that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that don't support hardware-based encryption. It can also be specified to restrict the encryption algorithms and cipher suites that are used with hardware-based encryption.| +|**When disabled**|BitLocker can't use hardware-based encryption with operating system drives, and BitLocker software-based encryption is used by default when the drive in encrypted.| +|**When not configured**|BitLocker software-based encryption is used irrespective of hardware-based encryption ability.| + +#### Reference: Configure use of hardware-based encryption for operating system drives + +If hardware-based encryption isn't available, BitLocker software-based encryption is used instead. + +> [!NOTE] +> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. + +The encryption algorithm that is used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm that is configured on the drive to encrypt the drive. The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option of this setting enables restriction of the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm that is set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID), for example: + +- Advanced Encryption Standard (AES) 128 in Cipher Block Chaining (CBC) mode OID: 2.16.840.1.101.3.4.1.2 +- AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + +### Configure use of hardware-based encryption for removable data drives + +This policy controls how BitLocker reacts to encrypted drives when they're used as removable data drives. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. + +| Item | Info | +|:---|:---| +|**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on removable data drives and specifies which encryption algorithms it can use with hardware-based encryption.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Removable data drive| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| +|**Conflicts**|None| +|**When enabled**|Additional options can be specified that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that don't support hardware-based encryption. It can also be specified to restrict the encryption algorithms and cipher suites that are used with hardware-based encryption.| +|**When disabled**|BitLocker can't use hardware-based encryption with removable data drives, and BitLocker software-based encryption is used by default when the drive in encrypted.| +|**When not configured**|BitLocker software-based encryption is used irrespective of hardware-based encryption ability.| + +#### Reference: Configure use of hardware-based encryption for removable data drives + +If hardware-based encryption isn't available, BitLocker software-based encryption is used instead. + +> [!NOTE] +> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. + +The encryption algorithm that is used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm that is configured on the drive to encrypt the drive. The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option of this setting enables restriction of the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm that is set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID), for example: + +- Advanced Encryption Standard (AES) 128 in Cipher Block Chaining (CBC) mode OID: 2.16.840.1.101.3.4.1.2 +- AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + +### Enforce drive encryption type on fixed data drives + +This policy controls whether fixed data drives utilize Used Space Only encryption or Full encryption. Setting this policy also causes the BitLocker Setup Wizard to skip the encryption options page so no encryption selection displays to the user. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Fixed data drive| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| +|**Conflicts**|None| +|**When enabled**|This policy defines the encryption type that BitLocker uses to encrypt drives, and the encryption type option isn't presented in the BitLocker Setup Wizard.| +|**When disabled or not configured**|The BitLocker Setup Wizard asks the user to select the encryption type before turning on BitLocker.| + +#### Reference: Enforce drive encryption type on fixed data drives + +This policy setting is applied when BitLocker is turned on. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose Full encryption to make it mandatory for the entire drive to be encrypted when BitLocker is turned on. Choose Used Space Only encryption to make it mandatory to encrypt only that portion of the drive that is used to store data when BitLocker is turned on. + +> [!NOTE] +> This policy is ignored when a volume is being shrunk or expanded and the BitLocker drive uses the current encryption method. For example, when a drive that is using Used Space Only encryption is expanded, the new free space isn't wiped as it would be for a drive that is using Full encryption. The user could wipe the free space on a Used Space Only drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. + +For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). + +### Enforce drive encryption type on operating system drives + +This policy controls whether operating system drives utilize Full encryption or Used Space Only encryption. Setting this policy also causes the BitLocker Setup Wizard to skip the encryption options page, so no encryption selection displays to the user. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Operating system drive| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|None| +|**When enabled**|The encryption type that BitLocker uses to encrypt drives is defined by this policy, and the encryption type option isn't presented in the BitLocker Setup Wizard.| +|**When disabled or not configured**|The BitLocker Setup Wizard asks the user to select the encryption type before turning on BitLocker.| + +#### Reference: Enforce drive encryption type on operating system drives + +This policy setting is applied when BitLocker is turned on. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose Full encryption to make it mandatory for the entire drive to be encrypted when BitLocker is turned on. Choose Used Space Only encryption to make it mandatory to encrypt only that portion of the drive that is used to store data when BitLocker is turned on. + +> [!NOTE] +> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using Used Space Only encryption is expanded, the new free space isn't wiped as it would be for a drive that uses Full encryption. The user could wipe the free space on a Used Space Only drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. + +For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). + +### Enforce drive encryption type on removable data drives + +This policy controls whether fixed data drives utilize Full encryption or Used Space Only encryption. Setting this policy also causes the BitLocker Setup Wizard to skip the encryption options page, so no encryption selection displays to the user. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Removable data drive| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| +|**Conflicts**|None| +|**When enabled**|The encryption type that BitLocker uses to encrypt drives is defined by this policy, and the encryption type option isn't presented in the BitLocker Setup Wizard.| +|**When disabled or not configured**|The BitLocker Setup Wizard asks the user to select the encryption type before turning on BitLocker.| + +#### Reference: Enforce drive encryption type on removable data drives + +This policy setting is applied when BitLocker is turned on. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose Full encryption to make it mandatory for the entire drive to be encrypted when BitLocker is turned on. Choose Used Space Only encryption to make it mandatory to encrypt only that portion of the drive that is used to store data when BitLocker is turned on. + +> [!NOTE] +> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using Used Space Only encryption is expanded, the new free space isn't wiped as it would be for a drive that is using Full Encryption. The user could wipe the free space on a Used Space Only drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. + +For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). + +### Choose how BitLocker-protected operating system drives can be recovered + +This policy setting is used to configure recovery methods for operating system drives. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be controlled how BitLocker-protected operating system drives are recovered in the absence of the required startup key information.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| +|**When enabled**|it can be controlled the methods that are available to users to recover data from BitLocker-protected operating system drives.| +|**When disabled or not configured**|The default recovery options are supported for BitLocker recovery. By default, a data recovery agent is allowed, the recovery options can be specified by the user (including the recovery password and recovery key), and recovery information isn't backed up to AD DS.| + +#### Reference: Choose how BitLocker-protected operating system drives can be recovered + +This policy setting is applied when BitLocker is turned on. + +The **Allow data recovery agent** check box is used to specify whether a data recovery agent can be used with BitLocker-protected operating system drives. Before a data recovery agent can be used, it must be added from **Public Key Policies**, which is located in the Group Policy Management Console (GPMC) or in the Local Group Policy Editor. + +For more information about adding data recovery agents, see [BitLocker basic deployment](bitlocker-basic-deployment.md). + +In **Configure user storage of BitLocker recovery information**, select whether users are allowed, required, or not allowed to generate a 48-digit recovery password. + +Select **Omit recovery options from the BitLocker setup wizard** to prevent users from specifying recovery options when they enable BitLocker on a drive. This policy setting means that which recovery option to use when BitLocker is enabled can't be specified. Instead, BitLocker recovery options for the drive are determined by the policy setting. + +In **Save BitLocker recovery information to Active Directory Domain Services**, choose which BitLocker recovery information to store in Active Directory Domain Services (AD DS) for operating system drives. If **Store recovery password and key packages** is selected, the BitLocker recovery password and the key package are stored in AD DS. Storing the key package supports the recovery of data from a drive that is physically corrupted. If **Store recovery password only** is selected, only the recovery password is stored in AD DS. + +Select the **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** check box if users need to be prevented from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. + +> [!NOTE] +> If the **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** check box is selected, a recovery password is automatically generated. + +### Choose how users can recover BitLocker-protected drives (Windows Server 2008 and Windows Vista) + +This policy setting is used to configure recovery methods for BitLocker-protected drives on computers running Windows Server 2008 or Windows Vista. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be controlled whether the BitLocker Setup Wizard can display and specify BitLocker recovery options.| +|**Introduced**|Windows Server 2008 and Windows Vista| +|**Drive type**|Operating system drives and fixed data drives on computers running Windows Server 2008 and Windows Vista| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| +|**Conflicts**|This policy setting provides an administrative method of recovering data that is encrypted by BitLocker to prevent data loss due to lack of key information. If the **Do not allow** option is chosen for both user recovery options, the **Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista)** policy setting must be enabled to prevent a policy error.| +|**When enabled**|The options that the BitLocker Setup Wizard displays to users for recovering BitLocker encrypted data can be configured.| +|**When disabled or not configured**|The BitLocker Setup Wizard presents users with ways to store recovery options.| + +#### Reference: Choose how users can recover BitLocker-protected drives (Windows Server 2008 and Windows Vista) + +This policy is only applicable to computers running Windows Server 2008 or Windows Vista. This policy setting is applied when BitLocker is turned on. + +Two recovery options can be used to unlock BitLocker-encrypted data in the absence of the required startup key information. Users can type a 48-digit numerical recovery password, or they can insert a USB drive that contains a 256-bit recovery key. + +- Saving the recovery password to a USB drive stores the 48-digit recovery password as a text file and the 256-bit recovery key as a hidden file. +- Saving the recovery password to a folder stores the 48-digit recovery password as a text file. +- Printing the recovery password sends the 48-digit recovery password to the default printer. + +For example, not allowing the 48-digit recovery password prevents users from printing or saving recovery information to a folder. + +> [!IMPORTANT] +> If TPM initialization is performed during the BitLocker setup, TPM owner information is saved or printed with the BitLocker recovery information. +> The 48-digit recovery password isn't available in FIPS-compliance mode. + +> [!IMPORTANT] +> To prevent data loss, there must be a way to recover BitLocker encryption keys. If both recovery options are not allowed, backup of BitLocker recovery information to AD DS must be enabled. Otherwise, a policy error occurs. + +### Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista) + +This policy setting is used to configure the storage of BitLocker recovery information in AD DS. This policy setting provides an administrative method of recovering data that is encrypted by BitLocker to prevent data loss due to lack of key information. + +| Item | Info | +|:---|:---| +|**Policy description**|This policy setting allows management of the AD DS backup of BitLocker Drive Encryption recovery information.| +|**Introduced**|Windows Server 2008 and Windows Vista| +|**Drive type**|Operating system drives and fixed data drives on computers running Windows Server 2008 and Windows Vista.| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| +|**Conflicts**|None| +|**When enabled**|BitLocker recovery information is automatically and silently backed up to AD DS when BitLocker is turned on for a computer.| +|**When disabled or not configured**|BitLocker recovery information isn't backed up to AD DS.| + +#### Reference: Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista) + +This policy is only applicable to computers running Windows Server 2008 or Windows Vista. + +This policy setting is applied when BitLocker is turned on. + +BitLocker recovery information includes the recovery password and unique identifier data. A package that contains an encryption key for a BitLocker-protected drive can also be included. This key package is secured by one or more recovery passwords, and it can help perform specialized recovery when the disk is damaged or corrupted. + +If **Require BitLocker backup to AD DS** is selected, BitLocker can't be turned on unless the computer is connected to the domain, and the backup of BitLocker recovery information to AD DS succeeds. This option is selected by default to help ensure that BitLocker recovery is possible. + +A recovery password is a 48-digit number that unlocks access to a BitLocker-protected drive. A key package contains a drive's BitLocker encryption key, which is secured by one or more recovery passwords. Key packages may help perform specialized recovery when the disk is damaged or corrupted. + +If the **Require BitLocker backup to AD DS** option isn't selected, AD DS backup is attempted, but network or other backup failures don't prevent the BitLocker setup. The Backup process isn't automatically retried, and the recovery password might not be stored in AD DS during BitLocker setup. +TPM initialization might be needed during the BitLocker setup. Enable the **Turn on TPM backup to Active Directory Domain Services** policy setting in **Computer Configuration** > **Administrative Templates** > **System** > **Trusted Platform Module Services** to ensure that TPM information is also backed up. + +For more information about this setting, see [TPM Group Policy settings](/windows/device-security/tpm/trusted-platform-module-services-group-policy-settings). + +### Choose default folder for recovery password + +This policy setting is used to configure the default folder for recovery passwords. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, the default path that is displayed when the BitLocker Setup Wizard prompts the user to enter the location of a folder in which to save the recovery password can be specified.| +|**Introduced**|Windows Vista| +|**Drive type**|All drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| +|**Conflicts**|None| +|**When enabled**|The path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder can be specified. A fully qualified path can be specified. The target computer's environment variables can also be included in the path. If the path isn't valid, the BitLocker Setup Wizard displays the computer's top-level folder view.| +|**When disabled or not configured**|The BitLocker Setup Wizard displays the computer's top-level folder view when the user chooses the option to save the recovery password in a folder.| + +#### Reference: Choose default folder for recovery password + +This policy setting is applied when BitLocker is turned on. + +> [!NOTE] +> This policy setting doesn't prevent the user from saving the recovery password in another folder. + +### Choose how BitLocker-protected fixed drives can be recovered + +This policy setting is used to configure recovery methods for fixed data drives. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be controlled how BitLocker-protected fixed data drives are recovered in the absence of the required credentials.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Fixed data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| +|**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| +|**When enabled**|it can be controlled the methods that are available to users to recover data from BitLocker-protected fixed data drives.| +|**When disabled or not configured**|The default recovery options are supported for BitLocker recovery. By default, a data recovery agent is allowed, the recovery options can be specified by the user (including the recovery password and recovery key), and recovery information isn't backed up to AD DS.| + +#### Reference: Choose how BitLocker-protected fixed drives can be recovered + +This policy setting is applied when BitLocker is turned on. + +The **Allow data recovery agent** check box is used to specify whether a data recovery agent can be used with BitLocker-protected fixed data drives. Before a data recovery agent can be used, it must be added from **Public Key Policies**, which is located in the Group Policy Management Console (GPMC) or in the Local Group Policy Editor. + +In **Configure user storage of BitLocker recovery information**, select whether users can be allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. + +Select **Omit recovery options from the BitLocker setup wizard** to prevent users from specifying recovery options when they enable BitLocker on a drive. This policy setting means that which recovery option to use when BitLocker is enabled can't be specified. Instead, BitLocker recovery options for the drive are determined by the policy setting. + +In **Save BitLocker recovery information to Active Directory Domain Services**, choose which BitLocker recovery information to store in AD DS for fixed data drives. If **Backup recovery password and key package** is selected, the BitLocker recovery password and the key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. To recover this data, the `Repair-bde.exe` command-line tool can be used. If **Backup recovery password only** is selected, only the recovery password is stored in AD DS. + +For more information about the BitLocker repair tool, see [Repair-bde](/windows-server/administration/windows-commands/repair-bde). + +Select the **Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives** check box if users should be prevented from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. + +> [!NOTE] +> If the **Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives** check box is selected, a recovery password is automatically generated. + +### Choose how BitLocker-protected removable drives can be recovered + +This policy setting is used to configure recovery methods for removable data drives. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be controlled how BitLocker-protected removable data drives are recovered in the absence of the required credentials.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Removable data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| +|**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| +|**When enabled**|it can be controlled the methods that are available to users to recover data from BitLocker-protected removable data drives.| +|**When disabled or not configured**|The default recovery options are supported for BitLocker recovery. By default, a data recovery agent is allowed, the recovery options can be specified by the user (including the recovery password and recovery key), and recovery information isn't backed up to AD DS.| + +#### Reference: Choose how BitLocker-protected removable drives can be recovered + +This policy setting is applied when BitLocker is turned on. + +The **Allow data recovery agent** check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used, it must be added from **Public Key Policies** , which is accessed using the GPMC or the Local Group Policy Editor. + +In **Configure user storage of BitLocker recovery information**, select whether users can be allowed, required, or not allowed to generate a 48-digit recovery password. + +Select **Omit recovery options from the BitLocker setup wizard** to prevent users from specifying recovery options when they enable BitLocker on a drive. This policy setting means that which recovery option to use when BitLocker is enabled can't be specified. Instead, BitLocker recovery options for the drive are determined by the policy setting. + +In **Save BitLocker recovery information to Active Directory Domain Services**, choose which BitLocker recovery information is to be stored in AD DS for removable data drives. If **Backup recovery password and key package** is selected, the BitLocker recovery password and the key package are stored in AD DS. If **Backup recovery password only** is selected, only the recovery password is stored in AD DS. + +Select the **Do not enable BitLocker until recovery information is stored in AD DS for removable data drives** check box if users should be prevented from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. + +> [!NOTE] +> If the **Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives** check box is selected, a recovery password is automatically generated. + +### Configure the pre-boot recovery message and URL + +This policy setting is used to configure the entire recovery message and to replace the existing URL that is displayed on the pre-boot recovery screen when the operating system drive is locked. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured the BitLocker recovery screen to display a customized message and URL.| +|**Introduced**|Windows| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > *Configure pre-boot recovery message and URL*| +|**Conflicts**|None| +|**When enabled**|The customized message and URL are displayed on the pre-boot recovery screen. If a custom recovery message and URL has been previously enabled and the message and URL need to be reverted back to the default message and URL, the policy setting must be enabled and the **Use default recovery message and URL** option selected.| +|**When disabled or not configured**|If the setting hasn't been previously enabled, then the default pre-boot recovery screen is displayed for BitLocker recovery. If the setting previously was enabled and is later disabled, then the last message in Boot Configuration Data (BCD) is displayed whether it was the default recovery message or the custom message.| + +#### Reference: Configure the pre-boot recovery message and URL + +Enabling the **Configure the pre-boot recovery message and URL** policy setting allows customization of the default recovery screen message and URL to assist customers in recovering their key. + +Once the setting is enabled, three options are available: + +- If the **Use default recovery message and URL** option is selected, the default BitLocker recovery message and URL will be displayed on the pre-boot recovery screen. +- If the **Use custom recovery message** option is selected, enter the custom message in the **Custom recovery message option** text box. The message that is entered in the **Custom recovery message option** text box is displayed on the pre-boot recovery screen. If a recovery URL is available, include it in the message. +- If the **Use custom recovery URL** option is selected, enter the custom message URL in the **Custom recovery URL option** text box. The URL that is entered in the **Custom recovery URL option** text box replaces the default URL in the default recovery message, which is displayed on the pre-boot recovery screen. + +> [!IMPORTANT] +> Not all characters and languages are supported in the pre-boot environment. It is strongly recommended to verify the correct appearance of the characters that are used for the custom message and URL on the pre-boot recovery screen. + +> [!IMPORTANT] +> Because BCDEdit commands can be altered manually before Group Policy settings have been set, the policy setting can't be returned to the default setting by selecting the **Not Configured** option after this policy setting has been configured. To return to the default pre-boot recovery screen leave the policy setting enabled and select the **Use default message** options from the **Choose an option for the pre-boot recovery message** drop-down list box. + +### Allow Secure Boot for integrity validation + +This policy controls how BitLocker-enabled system volumes are handled with the Secure Boot feature. Enabling this feature forces Secure Boot validation during the boot process and verifies Boot Configuration Data (BCD) settings according to the Secure Boot policy. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured whether Secure Boot will be allowed as the platform integrity provider for BitLocker operating system drives.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|All drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|If **Allow Secure Boot for integrity validation** is enabled, make sure the Configure TPM platform validation profile for native UEFI firmware configurations Group Policy setting isn't enabled, or include PCR 7 to allow BitLocker to use Secure Boot for platform or BCD integrity validation.

For more information about PCR 7, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article.| +|**When enabled or not configured**|BitLocker uses Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation.| +|**When disabled**|BitLocker uses legacy platform integrity validation, even on systems that are capable of Secure Boot-based integrity validation.| + +#### Reference: Allow Secure Boot for integrity validation + +Secure boot ensures that the computer's pre-boot environment loads only firmware that is digitally signed by authorized software publishers. Secure boot also started providing more flexibility for managing pre-boot configurations than BitLocker integrity checks prior to Windows Server 2012 and Windows 8. + +When this policy is enabled and the hardware is capable of using secure boot for BitLocker scenarios, the **Use enhanced Boot Configuration Data validation profile** group policy setting is ignored, and secure boot verifies BCD settings according to the secure boot policy setting, which is configured separately from BitLocker. + +> [!WARNING] +> Disabling this policy might result in BitLocker recovery when manufacturer-specific firmware is updated. If this policy is disabled, suspend BitLocker prior to applying firmware updates. + +### Provide the unique identifiers for your organization + +This policy setting is used to establish an identifier that is applied to all drives that are encrypted in an organization. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, unique organizational identifiers can be associated to a new drive that is enabled with BitLocker.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|All drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| +|**Conflicts**|Identification fields are required to manage certificate-based data recovery agents on BitLocker-protected drives. BitLocker manages and updates certificate-based data recovery agents only when the identification field is present on a drive and it's identical to the value that is configured on the computer.| +|**When enabled**|The identification field on the BitLocker-protected drive and any allowed identification field that is used by an organization can be configured.| +|**When disabled or not configured**|The identification field isn't required.| + +#### Reference: Provide the unique identifiers for your organization + +These identifiers are stored as the identification field and the allowed identification field. The identification field allows association of a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives, and it can be updated on existing BitLocker-protected drives by using the [Manage-bde](/windows-server/administration/windows-commands/manage-bde) command-line tool. + +An identification field is required to manage certificate-based data recovery agents on BitLocker-protected drives and for potential updates to the BitLocker To Go Reader. BitLocker manages and updates data recovery agents only when the identification field on the drive matches the value that is configured in the identification field. In a similar manner, BitLocker updates the BitLocker To Go Reader only when the identification field's value on the drive matches the value that is configured for the identification field. + +For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). + +The allowed identification field is used in combination with the **Deny write access to removable drives not protected by BitLocker** policy setting to help control the use of removable drives in an organization. It's a comma-separated list of identification fields from an internal organization or external organizations. + +The identification fields on existing drives can be configured by using the [Manage-bde](/windows-server/administration/windows-commands/manage-bde) command-line tool. + +When a BitLocker-protected drive is mounted on another BitLocker-enabled computer, the identification field and the allowed identification field are used to determine whether the drive is from an external organization. + +Multiple values separated by commas can be entered in the identification and allowed identification fields. The identification field can be any value upto 260 characters. + +### Prevent memory overwrite on restart + +This policy setting is used to control whether the computer's memory will be overwritten the next time the computer is restarted. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be controlled computer restart performance at the risk of exposing BitLocker secrets.| +|**Introduced**|Windows Vista| +|**Drive type**|All drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| +|**Conflicts**|None| +|**When enabled**|The computer won't overwrite memory when it restarts. Preventing memory overwrite may improve restart performance, but it increases the risk of exposing BitLocker secrets.| +|**When disabled or not configured**|BitLocker secrets are removed from memory when the computer restarts.| + +#### Reference: Prevent memory overwrite on restart + +This policy setting is applied when BitLocker is turned on. BitLocker secrets include key material that is used to encrypt data. This policy setting applies only when BitLocker protection is enabled. + +### Configure TPM platform validation profile for BIOS-based firmware configurations + +This policy setting determines what values the TPM measures when it validates early boot components before it unlocks an operating system drive on a computer with a BIOS configuration or with UEFI firmware that has the Compatibility Support Module (CSM) enabled. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured how the computer's TPM security hardware secures the BitLocker encryption key.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|None| +|**When enabled**|The boot components that the TPM validates before unlocking access to the BitLocker-encrypted operating system drive can be configured. If any of these components change while BitLocker protection is in effect, then the TPM doesn't release the encryption key to unlock the drive. Instead, the computer displays the BitLocker Recovery console and requires that the recovery password or the recovery key is provided to unlock the drive.| +|**When disabled or not configured**|The TPM uses the default platform validation profile or the platform validation profile that is specified by the setup script.| + +#### Reference: Configure TPM platform validation profile for BIOS-based firmware configurations + +This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker has already been turned on with TPM protection. + +> [!IMPORTANT] +> This Group Policy setting only applies to computers with BIOS configurations or to computers with UEFI firmware with the CSM enabled. Computers that use a native UEFI firmware configuration store different values in the Platform Configuration Registers (PCRs). Use the **Configure TPM platform validation profile for native UEFI firmware configurations** Group Policy setting to configure the TPM PCR profile for computers that use native UEFI firmware. + +A platform validation profile consists of a set of PCR indices that range from 0 to 23. The default platform validation profile secures the encryption key against changes to the following PCRs: + +- Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0) +- Option ROM Code (PCR 2) +- Master Boot Record (MBR) Code (PCR 4) +- NTFS Boot Sector (PCR 8) +- NTFS Boot Block (PCR 9) +- Boot Manager (PCR 10) +- BitLocker Access Control (PCR 11) + +> [!NOTE] +> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. + +The following list identifies all of the available PCRs: + +- PCR 0: Core root-of-trust for measurement, BIOS, and platform extensions +- PCR 1: Platform and motherboard configuration and data. +- PCR 2: Option ROM code +- PCR 3: Option ROM data and configuration +- PCR 4: Master Boot Record (MBR) code +- PCR 5: Master Boot Record (MBR) partition table +- PCR 6: State transition and wake events +- PCR 7: Computer manufacturer-specific +- PCR 8: NTFS boot sector +- PCR 9: NTFS boot block +- PCR 10: Boot manager +- PCR 11: BitLocker access control +- PCR 12-23: Reserved for future use + +### Configure TPM platform validation profile (Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2) + +This policy setting determines what values the TPM measures when it validates early boot components before unlocking a drive on a computer running Windows Vista, Windows Server 2008, or Windows 7. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured how the computer's TPM security hardware secures the BitLocker encryption key.| +|**Introduced**|Windows Server 2008 and Windows Vista| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|None| +|**When enabled**|The boot components that the TPM validates before unlocking access to the BitLocker-encrypted operating system drive can be configured. If any of these components change while BitLocker protection is in effect, the TPM doesn't release the encryption key to unlock the drive. Instead, the computer displays the BitLocker Recovery console and requires that the recovery password or the recovery key is provided to unlock the drive.| +|**When disabled or not configured**|The TPM uses the default platform validation profile or the platform validation profile that is specified by the setup script.| + +#### Reference: Configure TPM platform validation profile (Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2) + +This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker is already turned on with TPM protection. + +A platform validation profile consists of a set of PCR indices that range from 0 to 23. The default platform validation profile secures the encryption key against changes to the following PCRs: + +- Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0) +- Option ROM Code (PCR 2) +- Master Boot Record (MBR) Code (PCR 4) +- NTFS Boot Sector (PCR 8) +- NTFS Boot Block (PCR 9) +- Boot Manager (PCR 10) +- BitLocker Access Control (PCR 11) + +> [!NOTE] +> The default TPM validation profile PCR settings for computers that use an Extensible Firmware Interface (EFI) are the PCRs 0, 2, 4, and 11 only. + +The following list identifies all of the available PCRs: + +- PCR 0: Core root-of-trust for measurement, EFI boot and run-time services, EFI drivers embedded in system ROM, ACPI static tables, embedded SMM code, and BIOS code +- PCR 1: Platform and motherboard configuration and data. Hand-off tables and EFI variables that affect system configuration +- PCR 2: Option ROM code +- PCR 3: Option ROM data and configuration +- PCR 4: Master Boot Record (MBR) code or code from other boot devices +- PCR 5: Master Boot Record (MBR) partition table. Various EFI variables and the GPT table +- PCR 6: State transition and wake events +- PCR 7: Computer manufacturer-specific +- PCR 8: NTFS boot sector +- PCR 9: NTFS boot block +- PCR 10: Boot manager +- PCR 11: BitLocker access control +- PCR 12 - 23: Reserved for future use + +> [!WARNING] +> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. + +### Configure TPM platform validation profile for native UEFI firmware configurations + +This policy setting determines what values the TPM measures when it validates early boot components before unlocking an operating system drive on a computer with native UEFI firmware configurations. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|Setting this policy with PCR 7 omitted overrides the **Allow Secure Boot for integrity validation** Group Policy setting, and it prevents BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation.

If an environment uses TPM and Secure Boot for platform integrity checks, this policy is configured.

For more information about PCR 7, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article.| +|**When enabled**|Before BitLocker is turned on, the boot components that the TPM validates before it unlocks access to the BitLocker-encrypted operating system drive can be configured. If any of these components change while BitLocker protection is in effect, the TPM doesn't release the encryption key to unlock the drive. Instead, the computer displays the BitLocker Recovery console and requires that the recovery password or the recovery key is provided to unlock the drive.| +|**When disabled or not configured**|BitLocker uses the default platform validation profile or the platform validation profile that is specified by the setup script.| + +#### Reference: Configure TPM platform validation profile for native UEFI firmware configurations + +This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker is already turned on with TPM protection. + +> [!IMPORTANT] +> This group policy setting only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Support Module (CSM) enabled store different values in the Platform Configuration Registers (PCRs). Use the **Configure TPM platform validation profile for BIOS-based firmware configurations** Group Policy setting to configure the TPM PCR profile for computers with BIOS configurations or for computers with UEFI firmware with a CSM enabled. + +A platform validation profile consists of a set of PCR indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the core system firmware executable code (PCR 0), extended or pluggable executable code (PCR 2), boot manager (PCR 4), and the BitLocker access control (PCR 11). + +The following list identifies all of the available PCRs: + +- PCR 0: Core System Firmware executable code +- PCR 1: Core System Firmware data +- PCR 2: Extended or pluggable executable code +- PCR 3: Extended or pluggable firmware data +- PCR 4: Boot Manager +- PCR 5: GPT/Partition Table +- PCR 6: Resume from S4 and S5 Power State Events +- PCR 7: Secure Boot State + + For more information about this PCR, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article. + +- PCR 8: Initialized to 0 with no Extends (reserved for future use) +- PCR 9: Initialized to 0 with no Extends (reserved for future use) +- PCR 10: Initialized to 0 with no Extends (reserved for future use) +- PCR 11: BitLocker access control +- PCR 12: Data events and highly volatile events +- PCR 13: Boot Module Details +- PCR 14: Boot Authorities +- PCR 15 - 23: Reserved for future use + +> [!WARNING] +> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. + +### Reset platform validation data after BitLocker recovery + +This policy setting determines if platform validation data should refresh when Windows is started following a BitLocker recovery. A platform validation data profile consists of the values in a set of Platform Configuration Register (PCR) indices that range from 0 to 23. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be controlled whether platform validation data is refreshed when Windows is started following a BitLocker recovery.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|None| +|**When enabled**|Platform validation data is refreshed when Windows is started following a BitLocker recovery.| +|**When disabled**|Platform validation data isn't refreshed when Windows is started following a BitLocker recovery.| +|**When not configured**|Platform validation data is refreshed when Windows is started following a BitLocker recovery.| + +#### Reference: Reset platform validation data after BitLocker recovery + +For more information about the recovery process, see the [BitLocker recovery guide](bitlocker-recovery-guide-plan.md). + +### Use enhanced Boot Configuration Data validation profile + +This policy setting determines specific Boot Configuration Data (BCD) settings to verify during platform validation. A platform validation uses the data in the platform validation profile, which consists of a set of Platform Configuration Register (PCR) indices that range from 0 to 23. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, Boot Configuration Data (BCD) settings to verify during platform validation can be specified.| +|**Introduced**|Windows Server 2012 and Windows 8| +|**Drive type**|Operating system drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| +|**Conflicts**|When BitLocker is using Secure Boot for platform and Boot Configuration Data integrity validation, the **Use enhanced Boot Configuration Data validation profile** Group Policy setting is ignored (as defined by the **Allow Secure Boot for integrity validation** Group Policy setting).| +|**When enabled**|Additional BCD settings can be added and specified BCD settings can be excluded. Also a customized BCD validation profile can be created by combining inclusion and exclusion lists. The customized BCD validation profile gives the ability to verify BCD settings.| +|**When disabled**|The computer reverts to a BCD profile validation similar to the default BCD profile that is used by Windows 7.| +|**When not configured**|The computer verifies the default BCD settings in Windows.| + +#### Reference: Use enhanced Boot Configuration Data validation profile + +> [!NOTE] +> The setting that controls boot debugging (0x16000010) is always validated, and it has no effect if it's included in the inclusion or the exclusion list. + +### Allow access to BitLocker-protected fixed data drives from earlier versions of Windows + +This policy setting is used to control whether access to drives is allowed by using the BitLocker To Go Reader, and whether BitLocker To Go Reader can be installed on the drive. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured whether fixed data drives that are formatted with the FAT file system can be unlocked and viewed on computers running Windows Vista, Windows XP with Service Pack 3 (SP3), or Windows XP with Service Pack 2 (SP2).| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Fixed data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| +|**Conflicts**|None| +|**When enabled and When not configured**|Fixed data drives that are formatted with the FAT file system can be unlocked on computers running Windows Server 2008, Windows Vista, Windows XP with SP3, or Windows XP with SP2, and their content can be viewed. These operating systems have Read-only access to BitLocker-protected drives.| +|**When disabled**|Fixed data drives that are formatted with the FAT file system and are BitLocker-protected can't be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2. BitLocker To Go Reader (bitlockertogo.exe) isn't installed.| + +#### Reference: Allow access to BitLocker-protected fixed data drives from earlier versions of Windows + +> [!NOTE] +> This policy setting doesn't apply to drives that are formatted with the NTFS file system. + +When this policy setting is enabled, select the **Do not install BitLocker To Go Reader on FAT formatted fixed drives** check box to help prevent users from running BitLocker To Go Reader from their fixed drives. If BitLocker To Go Reader (bitlockertogo.exe) is present on a drive that doesn't have an identification field specified, or if the drive has the same identification field as specified in the **Provide unique identifiers for your organization** policy setting, the user is prompted to update BitLocker, and BitLocker To Go Reader is deleted from the drive. In this situation, for the fixed drive to be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2, BitLocker To Go Reader must be installed on the computer. If this check box isn't selected, then BitLocker To Go Reader will be installed on the fixed drive to enable users to unlock the drive on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2. + +### Allow access to BitLocker-protected removable data drives from earlier versions of Windows + +This policy setting controls access to removable data drives that are using the BitLocker To Go Reader and whether the BitLocker To Go Reader can be installed on the drive. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be configured whether removable data drives that are formatted with the FAT file system can be unlocked and viewed on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2.| +|**Introduced**|Windows Server 2008 R2 and Windows 7| +|**Drive type**|Removable data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| +|**Conflicts**|None| +|**When enabled and When not configured**|Removable data drives that are formatted with the FAT file system can be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2, and their content can be viewed. These operating systems have Read-only access to BitLocker-protected drives.| +|**When disabled**|Removable data drives that are formatted with the FAT file system that are BitLocker-protected can't be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2. BitLocker To Go Reader (bitlockertogo.exe) isn't installed.| + +#### Reference: Allow access to BitLocker-protected removable data drives from earlier versions of Windows + +> [!NOTE] +> This policy setting doesn't apply to drives that are formatted with the NTFS file system. + +When this policy setting is enabled, select the **Do not install BitLocker To Go Reader on FAT formatted removable drives** check box to help prevent users from running BitLocker To Go Reader from their removable drives. If BitLocker To Go Reader (bitlockertogo.exe) is present on a drive that doesn't have an identification field specified, or if the drive has the same identification field as specified in the **Provide unique identifiers for your organization** policy setting, the user will be prompted to update BitLocker, and BitLocker To Go Reader is deleted from the drive. In this situation, for the removable drive to be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2, BitLocker To Go Reader must be installed on the computer. If this check box isn't selected, then BitLocker To Go Reader will be installed on the removable drive to enable users to unlock the drive on computers running Windows Vista or Windows XP that don't have BitLocker To Go Reader installed. + +## FIPS setting + +The Federal Information Processing Standard (FIPS) setting for FIPS compliance can be configured. As an effect of FIPS compliance, users can't create or save a BitLocker password for recovery or as a key protector. The use of a recovery key is permitted. + +| Item | Info | +|:---|:---| +|**Policy description**|Notes| +|**Introduced**|Windows Server 2003 with SP1| +|**Drive type**|System-wide| +|**Policy path**|*Local Policies* > *Security Options* > *System cryptography*: **Use FIPS compliant algorithms for encryption, hashing, and signing**| +|**Conflicts**|Some applications, such as Terminal Services, don't support FIPS-140 on all operating systems.| +|**When enabled**|Users will be unable to save a recovery password to any location. This policy setting includes AD DS and network folders. Also, WMI or the BitLocker Drive Encryption Setup wizard can't be used to create a recovery password.| +|**When disabled or not configured**|No BitLocker encryption key is generated| + +### Reference: FIPS setting + +This policy must be enabled before any encryption key is generated for BitLocker. When this policy is enabled, BitLocker prevents creating or using recovery passwords, so recovery keys should be used instead. + +The optional recovery key can be saved to a USB drive. Because recovery passwords can't be saved to AD DS when FIPS is enabled, an error is caused if AD DS backup is required by Group Policy. + +The FIPS setting can be edited by using the Security Policy Editor (`Secpol.msc`) or by editing the Windows registry. Only administrators can perform these procedures. + +For more information about setting this policy, see [System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing](../../../threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md). + +## Power management group policy settings: Sleep and Hibernate + +PCs default power settings for a computer will cause the computer to enter Sleep mode frequently to conserve power when idle and to help extend the system's battery life. When a computer transitions to Sleep, open programs and documents are persisted in memory. When a computer resumes from Sleep, users aren't required to reauthenticate with a PIN or USB startup key to access encrypted data. Not needing to reauthenticate when resuming from Sleep might lead to conditions where data security is compromised. + +However, when a computer hibernates the drive is locked, and when it resumes from hibernation the drive is unlocked, which means that users will need to provide a PIN or a startup key if using multifactor authentication with BitLocker. Therefore, organizations that use BitLocker may want to use Hibernate instead of Sleep for improved security. This setting doesn't have an impact on TPM-only mode, because it provides a transparent user experience at startup and when resuming from the Hibernate states. + +To disable all available sleep states, disable the Group Policy settings located in **Computer Configuration** > **Administrative Templates** > **System** > **Power Management** : + +- **Allow Standby States (S1-S3) When Sleeping (Plugged In)** +- **Allow Standby States (S1-S3) When Sleeping (Battery)** + +## About the Platform Configuration Register (PCR) + +A platform validation profile consists of a set of PCR indices that range from 0 to 23. The scope of the values can be specific to the version of the operating system. + +Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. + +### About PCR 7 + +PCR 7 measures the state of Secure Boot. With PCR 7, BitLocker can use Secure Boot for integrity validation. Secure Boot ensures that the computer's preboot environment loads only firmware that is digitally signed by authorized software publishers. PCR 7 measurements indicate whether Secure Boot is on and which keys are trusted on the platform. If Secure Boot is on and the firmware measures PCR 7 correctly per the UEFI specification, BitLocker can bind to this information rather than to PCRs 0, 2, and 4, which have the measurements of the exact firmware and Bootmgr images loaded. This process reduces the likelihood of BitLocker starting in recovery mode as a result of firmware and image updates, and it provides with greater flexibility to manage the preboot configuration. + +PCR 7 measurements must follow the guidance that is described in [Appendix A Trusted Execution Environment EFI Protocol](/windows-hardware/test/hlk/testref/trusted-execution-environment-efi-protocol). + +PCR 7 measurements are a mandatory logo requirement for systems that support Modern Standby (also known as Always On, Always Connected PCs), such as the Microsoft Surface RT. On such systems, if the TPM with PCR 7 measurement and secure boot are correctly configured, BitLocker binds to PCR 7 and PCR 11 by default. + +## Related articles + +- [Trusted Platform Module](/windows/device-security/tpm/trusted-platform-module-overview) +- [TPM Group Policy settings](/windows/device-security/tpm/trusted-platform-module-services-group-policy-settings) +- [BitLocker frequently asked questions (FAQ)](faq.yml) +- [BitLocker overview](index.md) +- [Prepare your organization for BitLocker: Planning and policies](prepare-your-organization-for-bitlocker-planning-and-policies.md) From 4a8a42838d64ba932b9164b1c1368a5233ef00fd Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 19 Sep 2023 18:54:52 -0400 Subject: [PATCH 003/505] updates --- .../data-protection/bitlocker/configure.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index bd507a6b15..6c745b703d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -58,6 +58,8 @@ With this policy setting, it can be configured whether BitLocker requires additi Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** +--- + ### Allow network unlock at startup 1 With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. @@ -75,6 +77,8 @@ With this policy setting, it can be configured whether BitLocker requires additi Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** +--- + ### Require additional authentication at startup 1 With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. From c5b0a9738453cf518269387d365950564df6ae16 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 20 Sep 2023 16:45:57 -0400 Subject: [PATCH 004/505] updates --- .../data-protection/bitlocker/configure.md | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 6c745b703d..4767964c86 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -45,11 +45,6 @@ With this policy setting, it can be configured whether BitLocker requires additi With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. -| | Setting | -|------------------|------------------------------------------------------------------------------------------------------------------| -| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | -| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | - #### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Intune**](#tab/intune) ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) @@ -64,11 +59,6 @@ Computer or User Configuration > Administrative Templates > Start Menu and Taskb With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. -| | Setting | -|------------------|------------------------------------------------------------------------------------------------------------------| -| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | -| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | - #### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Intune**](#tab/intune) ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) @@ -83,11 +73,6 @@ Computer or User Configuration > Administrative Templates > Start Menu and Taskb With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. -| | Setting | -|------------------|------------------------------------------------------------------------------------------------------------------| -| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | -| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | - #### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Intune**](#tab/intune) ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) From 5b036a092a7f372f8c51a568b71afa20a09d092b Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 21 Sep 2023 07:50:55 -0400 Subject: [PATCH 005/505] tests --- .../data-protection/bitlocker/configure.md | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 4767964c86..cafb504577 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -80,8 +80,76 @@ With this policy setting, it can be configured whether BitLocker requires additi #### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **CSP**](#tab/csp) Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** + --- +## TEST 3 + +#### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Common settings**](#tab/intune) + +| Title | Description | +|-|-| +|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| +|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | + +#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **OS data drive**](#tab/csp) + +| Title | Description | +|-|-| +|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| +|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | + +#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **Fixed data drive**](#tab/csp) + +| Title | Description | +|-|-| +|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| +|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | + +#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **Removable data drive**](#tab/csp) + +| Title | Description | +|-|-| +|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| +|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | + +--- + +## TEST 4 + +### Common settings + +| Title | Description | +|-|-| +|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| +|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | + + +### OS data drive settings + +| Title | Description | +|-|-| +|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| +|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | + +### Fixed data drive settings + +| Title | Description | +|-|-| +|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| +|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | + +### Removable data drive settings + +| Title | Description | +|-|-| +|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| +|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | + + +## Old + + The following sections provide a comprehensive list of BitLocker group policy settings that are organized by usage. BitLocker group policy settings include settings for specific drive types (operating system drives, fixed data drives, and removable data drives) and settings that are applied to all drives. The following policy settings can be used to determine how a BitLocker-protected drive can be unlocked. From 1918cbd12d433ac02a8b9acd86f2aa6e2ae84ccb Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 21 Sep 2023 09:28:31 -0400 Subject: [PATCH 006/505] tests --- .../data-protection/bitlocker/configure.md | 11 +- .../bitlocker/images/locked-drive.svg | 286 ++++++++++++++++++ .../bitlocker/images/os-drive.svg | 157 ++++++++++ 3 files changed, 450 insertions(+), 4 deletions(-) create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/locked-drive.svg create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/os-drive.svg diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index cafb504577..897f0e67b7 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -85,33 +85,35 @@ Computer or User Configuration > Administrative Templates > Start Menu and Taskb ## TEST 3 -#### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Common settings**](#tab/intune) +#### [:::image type="icon" source="images/locked-drive.svg"::: **Common settings**](#tab/common) | Title | Description | |-|-| |Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| |Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | -#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **OS data drive**](#tab/csp) +#### [:::image type="icon" source="images/os-drive.svg"::: **OS data drive**](#tab/os) | Title | Description | |-|-| |Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| |Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | -#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **Fixed data drive**](#tab/csp) +#### [:::image type="icon" source="images/os-drive.svg"::: **Fixed data drive**](#tab/fixed) | Title | Description | |-|-| |Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| |Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | -#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **Removable data drive**](#tab/csp) +#### [:::image type="icon" source="images/os-drive.svg"::: **Removable data drive**](#tab/removable) | Title | Description | |-|-| |Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| |Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | +|Choose how BitLocker-protected removable drives can be recovered|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS| +|Configure use of hardware-based encryption for removable data drives|This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42| --- @@ -146,6 +148,7 @@ Computer or User Configuration > Administrative Templates > Start Menu and Taskb |Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| |Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | +--- ## Old diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/locked-drive.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/locked-drive.svg new file mode 100644 index 0000000000..4e2b1e1e21 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/locked-drive.svg @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/os-drive.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/os-drive.svg new file mode 100644 index 0000000000..233cfda66c --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/os-drive.svg @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From d8b6b571f6b655b884c071106733a4e1d8627eb5 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 21 Sep 2023 09:47:52 -0400 Subject: [PATCH 007/505] tests --- .../data-protection/bitlocker/configure.md | 4 +- .../bitlocker/images/drive.svg | 75 ++++ .../bitlocker/images/locked-drive.svg | 327 +++++++++++------- .../bitlocker/images/os-drive.svg | 148 ++++---- .../bitlocker/images/unlocked-drive.svg | 125 +++++++ 5 files changed, 458 insertions(+), 221 deletions(-) create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/drive.svg create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/unlocked-drive.svg diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 897f0e67b7..98729868a1 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -99,14 +99,14 @@ Computer or User Configuration > Administrative Templates > Start Menu and Taskb |Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| |Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | -#### [:::image type="icon" source="images/os-drive.svg"::: **Fixed data drive**](#tab/fixed) +#### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drive**](#tab/fixed) | Title | Description | |-|-| |Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| |Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | -#### [:::image type="icon" source="images/os-drive.svg"::: **Removable data drive**](#tab/removable) +#### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drive**](#tab/removable) | Title | Description | |-|-| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/drive.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/drive.svg new file mode 100644 index 0000000000..fdd0ac46fd --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/drive.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/locked-drive.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/locked-drive.svg index 4e2b1e1e21..9c1d764581 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/images/locked-drive.svg +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/locked-drive.svg @@ -1,144 +1,166 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + - + - - - - - - + - + - - - - - - - + - - - - - - - - - + + + + + + + + - + - - + + - + - - - + + + + + + + + + + + - - - - - - + + + + + + + + + + + - + - + - + - + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - + + - + - + - + @@ -146,86 +168,74 @@ - + - + - + - + - + - + - + - - - - - - - - - - - - - + - + - + - + - + - + - + - + @@ -233,31 +243,94 @@ - + - - - + + + - - - + + + - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + @@ -268,19 +341,11 @@ - - - - - - - - - - + + - - + + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/os-drive.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/os-drive.svg index 233cfda66c..4b4f7f766f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/images/os-drive.svg +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/os-drive.svg @@ -1,96 +1,77 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + - + + + + + + - - - - - - - - - + - - - - + - - - - - + - + + + + - + - + - - + + + + - - - - - - - - - - - - - - + - + - + @@ -98,60 +79,51 @@ - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - + + + + + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/unlocked-drive.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/unlocked-drive.svg new file mode 100644 index 0000000000..94f06bf78b --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/unlocked-drive.svg @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 7147dcdbcf39b84ce956a025faa081910ee54345 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 21 Sep 2023 11:41:14 -0400 Subject: [PATCH 008/505] tests --- .../data-protection/bitlocker/configure.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 98729868a1..8782cf83d9 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -110,9 +110,9 @@ Computer or User Configuration > Administrative Templates > Start Menu and Taskb | Title | Description | |-|-| -|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| -|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | -|Choose how BitLocker-protected removable drives can be recovered|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS| +|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| +|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script."
- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
**Intune settings catalog**: Administrative Templates > Windows Components > BitLocker Drive Encryption | +|Choose how BitLocker-protected removable drives can be recovered|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS
- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: not available
**Intune settings catalog**: not available | |Configure use of hardware-based encryption for removable data drives|This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42| --- From 0d4f47e23ee3217be3b3dd84246478fb99b39c82 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 21 Sep 2023 13:20:35 -0400 Subject: [PATCH 009/505] tests --- .../data-protection/bitlocker/configure.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 8782cf83d9..1dd43de62d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -108,12 +108,13 @@ Computer or User Configuration > Administrative Templates > Start Menu and Taskb #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drive**](#tab/removable) -| Title | Description | -|-|-| -|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| -|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script."
- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
**Intune settings catalog**: Administrative Templates > Windows Components > BitLocker Drive Encryption | -|Choose how BitLocker-protected removable drives can be recovered|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS
- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: not available
**Intune settings catalog**: not available | -|Configure use of hardware-based encryption for removable data drives|This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42| +Here's a list of BitLocker policies applicable to removable drives, and the paths for Intune settings catalog, CSP and group policy. + +| Title | Description |Paths| +|-|-|-| +|**Choose how BitLocker-protected removable drives can be recovered**|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS |- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: Administrative Templates > Windows Components > BitLocker Drive Encryption | +|Choose how BitLocker-protected removable drives can be recovered|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS |- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: Administrative Templates > Windows Components > BitLocker Drive Encryption| +|**Configure use of hardware-based encryption for removable data drives**|This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: `2.16.840.1.101.3.4.1.2` - AES 256 in CBC mode OID: `2.16.840.1.101.3.4.1.42` |- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: not available| --- From ac0e851a46c90bb8236a21c1de30e85c9026df50 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 21 Sep 2023 13:30:05 -0400 Subject: [PATCH 010/505] tests --- .../data-protection/bitlocker/configure.md | 54 +++++++++++++++---- 1 file changed, 45 insertions(+), 9 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 1dd43de62d..d547d3755e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -101,20 +101,56 @@ Computer or User Configuration > Administrative Templates > Start Menu and Taskb #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drive**](#tab/fixed) -| Title | Description | -|-|-| -|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| -|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | +Here's a list of BitLocker policies applicable to fixed data drives: + +- [Choose how BitLocker-protected removable drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Configure use of hardware-based encryption for removable data drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Configure use of passwords for removable data drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Configure use of smart cards on removable data drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Control use of BitLocker on removable drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Deny write access to removable drives not protected by BitLocker](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Enforce drive encryption type on removable data drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) + +### Choose how BitLocker-protected removable drives can be recovered + +This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS + +| Configuration option | Setting | +|--|--| +| **Intune settings catalog** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | +| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | +| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | + +### Configure use of hardware-based encryption for removable data drives + +This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS + +| Configuration option | Setting | +|--|--| +| **Intune settings catalog** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | +| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | +| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | + +### Configure use of passwords for removable data drives + +This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS + +| Configuration option | Setting | +|--|--| +| **Intune settings catalog** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | +| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | +| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | + #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drive**](#tab/removable) Here's a list of BitLocker policies applicable to removable drives, and the paths for Intune settings catalog, CSP and group policy. -| Title | Description |Paths| -|-|-|-| -|**Choose how BitLocker-protected removable drives can be recovered**|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS |- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: Administrative Templates > Windows Components > BitLocker Drive Encryption | -|Choose how BitLocker-protected removable drives can be recovered|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS |- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: Administrative Templates > Windows Components > BitLocker Drive Encryption| -|**Configure use of hardware-based encryption for removable data drives**|This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: `2.16.840.1.101.3.4.1.2` - AES 256 in CBC mode OID: `2.16.840.1.101.3.4.1.42` |- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: not available| +| Title | Description | +|-|-| +|**Choose how BitLocker-protected removable drives can be recovered**|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS

- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: Administrative Templates > Windows Components > BitLocker Drive Encryption | +|Choose how BitLocker-protected removable drives can be recovered|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS

- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: Administrative Templates > Windows Components > BitLocker Drive Encryption| +|**Configure use of hardware-based encryption for removable data drives**|This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: `2.16.840.1.101.3.4.1.2` - AES 256 in CBC mode OID: `2.16.840.1.101.3.4.1.42`

- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: not available| --- From c751eb9cd18ab8486d370e4b173198f5b7bfb7b0 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 21 Sep 2023 13:50:08 -0400 Subject: [PATCH 011/505] updates --- .../data-protection/bitlocker/configure.md | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index d547d3755e..07c6dee928 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -94,6 +94,28 @@ Computer or User Configuration > Administrative Templates > Start Menu and Taskb #### [:::image type="icon" source="images/os-drive.svg"::: **OS data drive**](#tab/os) +## OS data drive policies + +Here's a list of BitLocker policies applicable to the OS data drive: + +- [Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Allow enhanced PINs for startup](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Allow network unlock at startup](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Allow Secure Boot for integrity validation](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Configure minimum PIN length for startup](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Configure pre-boot recovery message and URL](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Configure TPM platform validation profile for BIOS-based firmware configurations](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Configure TPM platform validation profile for native UEFI firmware configurations](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Configure use of hardware-based encryption for operating system drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Configure use of passwords for operating system drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Disallow standard users from changing the PIN or password](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Enable use of BitLocker authentication requiring preboot keyboard input on slates](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Enforce drive encryption type on operating system drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Require additional authentication at startup](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Reset platform validation data after BitLocker recovery](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +- [Use enhanced Boot Configuration Data validation profile](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) + | Title | Description | |-|-| |Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| @@ -141,10 +163,11 @@ This policy setting allows you to control how BitLocker-protected removable data | **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | | **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | - #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drive**](#tab/removable) -Here's a list of BitLocker policies applicable to removable drives, and the paths for Intune settings catalog, CSP and group policy. +## Removable data drive policies + +Here's a list of BitLocker policies applicable to removable drives, and the paths for Intune settings catalog, CSP and group policy. | Title | Description | |-|-| From ae4a5199e76f49840169e388b37a51a4cf8c6517 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 21 Sep 2023 16:28:34 -0400 Subject: [PATCH 012/505] updtaes --- .../data-protection/bitlocker/configure.md | 173 ++++++++---------- 1 file changed, 79 insertions(+), 94 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 07c6dee928..d9ade8f923 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -2,7 +2,6 @@ title: BitLocker settings list description: Learn about the settings to configure BitLocker. ms.collection: - - highpri - tier1 ms.topic: reference ms.date: 09/19/2023 @@ -10,92 +9,92 @@ ms.date: 09/19/2023 # BitLocker settings list -## TEST 1 - -### Allow devices with Secure Boot and protected DMA ports to opt out of preboot PIN - -With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. - -| | Setting | -|------------------|------------------------------------------------------------------------------------------------------------------| -| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | -| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | - -### Allow network unlock at startup - -With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. - -| | Setting | -|------------------|------------------------------------------------------------------------------------------------------------------| -| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | -| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | - -### Require additional authentication at startup - -With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. - -| | Setting | -|------------------|------------------------------------------------------------------------------------------------------------------| -| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | -| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | - -## TEST 2 - -### Allow devices with Secure Boot and protected DMA ports to opt out of preboot PIN 1 - -With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. - -#### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Intune**](#tab/intune) - -./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) - -#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **CSP**](#tab/csp) - -Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** - ---- - -### Allow network unlock at startup 1 - -With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. - -#### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Intune**](#tab/intune) - -./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) - -#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **CSP**](#tab/csp) - -Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** - ---- - -### Require additional authentication at startup 1 - -With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on. - -#### [:::image type="icon" source="../../../images/icons/intune.svg"::: **Intune**](#tab/intune) - -./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) - -#### [:::image type="icon" source="../../../images/icons/group-policy.svg"::: **CSP**](#tab/csp) - -Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** - ---- +This reference article describes the available settings to configure BitLocker via Microsoft Intune, CSP or group policies. ## TEST 3 #### [:::image type="icon" source="images/locked-drive.svg"::: **Common settings**](#tab/common) -| Title | Description | -|-|-| -|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| -|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | +- [Choose default folder for recovery password](#choose-default-folder-for-recovery-password) +- [Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength) +- [Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked) +- [Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart) +- [Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization) +- [Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance) + +### Choose default folder for recovery password + +Specify the default path that is displayed when the *BitLocker Drive Encryption setup wizard* prompts the user to enter the location of a folder in which to save the recovery password. You can specify either a fully qualified path or include the target computer's environment variables in the path: + +- If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view +- If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder + +> [!NOTE] +> This policy setting does not prevent the user from saving the recovery password in another folder. + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +### Choose drive encryption method and cipher strength 🟢 + +With this policy you can configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. +Recommended settings: + +- For fixed and operating system drives: XTS-AES algorithm +- For removable drives: AES-CBC 128-bit or AES-CBC 256-bit + +> [!NOTE] +> This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. + +If you disable or do not configure this policy setting, BitLocker uses the default encryption method of XTS-AES 128-bit. + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +### Disable new DMA devices when this computer is locked +This policy setting allows you to block direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +### Prevent memory overwrite on restart +This policy setting controls computer restart performance at the risk of exposing BitLocker secrets. This policy setting is applied when you turn on BitLocker. BitLocker secrets include key material used to encrypt data. This policy setting applies only when BitLocker protection is enabled. If you enable this policy setting, memory will not be overwritten when the computer restarts. Preventing memory overwrite may improve restart performance but will increase the risk of exposing BitLocker secrets. If you disable or do not configure this policy setting, BitLocker secrets are removed from memory when the computer restarts. + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +### Provide the unique identifiers for your organization +This policy setting allows you to associate unique organizational identifiers to a new drive that is enabled with BitLocker. These identifiers are stored as the identification field and allowed identification field. The identification field allows you to associate a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives and can be updated on existing BitLocker-protected drives using the manage-bde command-line tool. An identification field is required for management of certificate-based data recovery agents on BitLocker-protected drives and for potential updates to the BitLocker To Go Reader. BitLocker will only manage and update data recovery agents when the identification field on the drive matches the value configured in the identification field. In a similar manner, BitLocker will only update the BitLocker To Go Reader when the identification field on the drive matches the value configured for the identification field. The allowed identification field is used in combination with the "Deny write access to removable drives not protected by BitLocker" policy setting to help control the use of removable drives in your organization. It is a comma separated list of identification fields from your organization or other external organizations. You can configure the identification fields on existing drives by using manage-bde.exe. If you enable this policy setting, you can configure the identification field on the BitLocker-protected drive and any allowed identification field used by your organization. When a BitLocker-protected drive is mounted on another BitLocker-enabled computer the identification field and allowed identification field will be used to determine whether the drive is from an outside organization. If you disable or do not configure this policy setting, the identification field is not required. Note: Identification fields are required for management of certificate-based data recovery agents on BitLocker-protected drives. BitLocker will only manage and update certificate-based data recovery agents when the identification field is present on a drive and is identical to the value configured on the computer. The identification field can be any value of 260 characters or fewer. + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +### Validate smart card certificate usage rule compliance +This policy setting allows you to associate an object identifier from a smart card certificate to a BitLocker-protected drive. This policy setting is applied when you turn on BitLocker. The object identifier is specified in the enhanced key usage (EKU) of a certificate. BitLocker can identify which certificates may be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. Default object identifier is 1.3.6.1.4.1.311.67.1.1 Note: BitLocker does not require that a certificate have an EKU attribute, but if one is configured for the certificate it must be set to an object identifier (OID) that matches the OID configured for BitLocker. If you enable this policy setting, the object identifier specified in the "Object identifier" box must match the object identifier in the smart card certificate. If you disable or do not configure this policy setting, a default object identifier is used. + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | #### [:::image type="icon" source="images/os-drive.svg"::: **OS data drive**](#tab/os) -## OS data drive policies - Here's a list of BitLocker policies applicable to the OS data drive: - [Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) @@ -118,7 +117,7 @@ Here's a list of BitLocker policies applicable to the OS data drive: | Title | Description | |-|-| -|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| +|### Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| |Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drive**](#tab/fixed) @@ -762,20 +761,6 @@ The options for choosing property settings that control how users can configure - **Allow users to suspend and decrypt BitLocker on removable data drives** Enables the user to remove BitLocker from the drive or to suspend the encryption while performing maintenance. -### Choose drive encryption method and cipher strength - -This policy setting is used to control the encryption method and cipher strength. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled the encryption method and strength for drives.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|All drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|An encryption algorithm and key cipher strength for BitLocker can be chosen to use to encrypt drives.| -|**When disabled or not configured**|Beginning with Windows 10, version 1511, BitLocker uses the default encryption method of XTS-AES 128-bit or the encryption method that is specified by the setup script. - #### Reference: Choose drive encryption method and cipher strength The values of this policy determine the strength of the cipher that BitLocker uses for encryption. Enterprises may want to control the encryption level for increased security (AES-256 is stronger than AES-128). From 529258103c6f733d4a4b4bad31786ecee6094562 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 22 Sep 2023 07:54:04 -0400 Subject: [PATCH 013/505] updates --- .../data-protection/bitlocker/configure.md | 339 +++++++++++++----- 1 file changed, 254 insertions(+), 85 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index d9ade8f923..18f6f929c8 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -9,11 +9,16 @@ ms.date: 09/19/2023 # BitLocker settings list -This reference article describes the available settings to configure BitLocker via Microsoft Intune, CSP or group policies. +This reference article describes the available settings to configure BitLocker via Microsoft Intune, CSP, and group policies. -## TEST 3 +The list of settings is sorted alphabetically and organized in four tabs: -#### [:::image type="icon" source="images/locked-drive.svg"::: **Common settings**](#tab/common) +- **Common settings** lists the settings that apply to all BitLocker-protected drives +- **OS data drive** lists the settings applicable to the drive where Windows is installed +- **Fixed data drive** lists the settings applicable to any local drives, except the operating system drive +- **Removable data drive** lists the settings applicable to any removable drives + +#### [:::image type="icon" source="images/locked-drive.svg"::: **Common settings**](#tab/common) - [Choose default folder for recovery password](#choose-default-folder-for-recovery-password) - [Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength) @@ -95,125 +100,289 @@ This policy setting allows you to associate an object identifier from a smart ca #### [:::image type="icon" source="images/os-drive.svg"::: **OS data drive**](#tab/os) -Here's a list of BitLocker policies applicable to the OS data drive: +- Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN. +- Allow enhanced PINs for startup +- Allow network unlock at startup +- Allow Secure Boot for integrity validation +- Choose how BitLocker-protected operating system drives can be recovered +- Configure minimum PIN length for startup +- Configure pre-boot recovery message and URL +- Configure TPM platform validation profile for BIOS-based firmware configurations +- Configure TPM platform validation profile for native UEFI firmware configurations +- Configure use of hardware-based encryption for operating system drives +- Configure use of passwords for operating system drives +- Disallow standard users from changing the PIN or password +- Enable use of BitLocker authentication requiring preboot keyboard input on slates +- Enforce drive encryption type on operating system drives +- Require additional authentication at startup +- Reset platform validation data after BitLocker recovery +- Use enhanced Boot Configuration Data validation profile -- [Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Allow enhanced PINs for startup](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Allow network unlock at startup](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Allow Secure Boot for integrity validation](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure minimum PIN length for startup](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure pre-boot recovery message and URL](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure TPM platform validation profile for BIOS-based firmware configurations](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure TPM platform validation profile for native UEFI firmware configurations](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure use of hardware-based encryption for operating system drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure use of passwords for operating system drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Disallow standard users from changing the PIN or password](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Enable use of BitLocker authentication requiring preboot keyboard input on slates](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Enforce drive encryption type on operating system drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Require additional authentication at startup](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Reset platform validation data after BitLocker recovery](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Use enhanced Boot Configuration Data validation profile](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) +### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN -| Title | Description | -|-|-| -|### Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| -|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Allow enhanced PINs for startup + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Allow network unlock at startup + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Allow Secure Boot for integrity validation + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Choose how BitLocker-protected operating system drives can be recovered + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure minimum PIN length for startup + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure pre-boot recovery message and URL + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure TPM platform validation profile for BIOS-based firmware configurations + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure TPM platform validation profile for native UEFI firmware configurations + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure use of hardware-based encryption for operating system drives + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure use of passwords for operating system drives + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Disallow standard users from changing the PIN or password + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Enable use of BitLocker authentication requiring preboot keyboard input on slates + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Enforce drive encryption type on operating system drives + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Require additional authentication at startup + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Reset platform validation data after BitLocker recovery + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Use enhanced Boot Configuration Data validation profile + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drive**](#tab/fixed) -Here's a list of BitLocker policies applicable to fixed data drives: +- Choose how BitLocker-protected fixed drives can be recovered +- Configure use of hardware-based encryption for fixed data drives +- Configure use of passwords for fixed data drives +- Configure use of smart cards on fixed data drives +- Deny write access to fixed drives not protected by BitLocker +- Enforce drive encryption type on fixed data drives -- [Choose how BitLocker-protected removable drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure use of hardware-based encryption for removable data drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure use of passwords for removable data drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure use of smart cards on removable data drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Control use of BitLocker on removable drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Deny write access to removable drives not protected by BitLocker](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Enforce drive encryption type on removable data drives](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -### Choose how BitLocker-protected removable drives can be recovered +### Choose how BitLocker-protected fixed drives can be recovered -This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS - -| Configuration option | Setting | +| Configuration tool | Path | |--|--| -| **Intune settings catalog** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | -| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | -| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | -### Configure use of hardware-based encryption for removable data drives +### Configure use of hardware-based encryption for fixed data drives -This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS - -| Configuration option | Setting | +| Configuration tool | Path | |--|--| -| **Intune settings catalog** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | -| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | -| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | -### Configure use of passwords for removable data drives +### Configure use of passwords for fixed data drives -This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS - -| Configuration option | Setting | +| Configuration tool | Path | |--|--| -| **Intune settings catalog** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | -| **CSP** | ./[Device/User]/Vendor/MSFT/Policy/Config/Start/[HideCopilotButton](mdm/policy-csp-start.md#hidecopilotbutton) | -| **Group policy** | Computer or User Configuration > Administrative Templates > Start Menu and Taskbar > **Hide the Copilot button** | +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | + +### Configure use of smart cards on fixed data drives + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | + +### Deny write access to fixed drives not protected by BitLocker + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | + +### Enforce drive encryption type on fixed data drives + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drive**](#tab/removable) -## Removable data drive policies +- Choose how BitLocker-protected removable drives can be recovered +- Configure use of hardware-based encryption for removable data drives +- Configure use of passwords for removable data drives +- Configure use of smart cards on removable data drives +- Control use of BitLocker on removable drives +- Deny write access to removable drives not protected by BitLocker +- Enforce drive encryption type on removable data drives -Here's a list of BitLocker policies applicable to removable drives, and the paths for Intune settings catalog, CSP and group policy. +### Choose how BitLocker-protected removable drives can be recovered -| Title | Description | -|-|-| -|**Choose how BitLocker-protected removable drives can be recovered**|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS

- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: Administrative Templates > Windows Components > BitLocker Drive Encryption | -|Choose how BitLocker-protected removable drives can be recovered|This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS

- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: Administrative Templates > Windows Components > BitLocker Drive Encryption| -|**Configure use of hardware-based encryption for removable data drives**|This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: `2.16.840.1.101.3.4.1.2` - AES 256 in CBC mode OID: `2.16.840.1.101.3.4.1.42`

- **GPO**: Windows Components\BitLocker Drive Encryption\Removable Data Drives
- **CSP**: ./[Device/User]/Vendor/MSFT/Policy/Config/BitLocker/[test](mdm/policy-csp-start.md#hidecopilotbutton)
- **Intune settings catalog**: not available| +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | ---- +### Configure use of hardware-based encryption for removable data drives -## TEST 4 +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | -### Common settings +### Configure use of passwords for removable data drives -| Title | Description | -|-|-| -|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| -|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | +### Configure use of smart cards on removable data drives -### OS data drive settings +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | -| Title | Description | -|-|-| -|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| -|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | +### Control use of BitLocker on removable drives -### Fixed data drive settings +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | -| Title | Description | -|-|-| -|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| -|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | +### Deny write access to removable drives not protected by BitLocker -### Removable data drive settings +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | -| Title | Description | -|-|-| -|Choose default folder for recovery password| This policy setting allows you to specify the default path that is displayed when the BitLocker Drive Encryption setup wizard prompts the user to enter the location of a folder in which to save the recovery password. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, you can specify the path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder. You can specify either a fully qualified path or include the target computer's environment variables in the path. If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view. If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder. Note: This policy setting does not prevent the user from saving the recovery password in another folder.| -|Choose drive encryption method and cipher strength| This policy setting allows you to configure the algorithm and cipher strength used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. If you enable this policy setting you will be able to configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. For fixed and operating system drives, we recommend that you use the XTS-AES algorithm. For removable drives, you should use AES-CBC 128-bit or AES-CBC 256-bit if the drive will be used in other devices that are not running Windows 10 (Version 1511). If you disable or do not configure this policy setting, BitLocker will use AES with the same bit strength (128-bit or 256-bit) as the "Choose drive encryption method and cipher strength (Windows Vista, Windows Server 2008, Windows 7)" and "Choose drive encryption method and cipher strength" policy settings (in that order), if they are set. If none of the policies are set, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method specified by the setup script." | +### Enforce drive encryption type on removable data drives + +| Configuration tool | Path | +|--|--| +| Intune settings catalog | Not available | +| CSP | Not available | +| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | --- ## Old -The following sections provide a comprehensive list of BitLocker group policy settings that are organized by usage. BitLocker group policy settings include settings for specific drive types (operating system drives, fixed data drives, and removable data drives) and settings that are applied to all drives. - The following policy settings can be used to determine how a BitLocker-protected drive can be unlocked. - [Allow devices with Secure Boot and protected DMA ports to opt out of preboot PIN](#allow-devices-with-secure-boot-and-protected-dma-ports-to-opt-out-of-preboot-pin) From 6923cab869ab8e9dd3e93bd27166750bdca8fd6a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 22 Sep 2023 17:55:06 -0400 Subject: [PATCH 014/505] test --- .../data-protection/bitlocker/configure.md | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 18f6f929c8..939dc1fcd6 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -14,18 +14,23 @@ This reference article describes the available settings to configure BitLocker v The list of settings is sorted alphabetically and organized in four tabs: - **Common settings** lists the settings that apply to all BitLocker-protected drives -- **OS data drive** lists the settings applicable to the drive where Windows is installed -- **Fixed data drive** lists the settings applicable to any local drives, except the operating system drive -- **Removable data drive** lists the settings applicable to any removable drives +- **Operating system drive** lists the settings applicable to the drive where Windows is installed +- **Fixed data drives** lists the settings applicable to any local drives, except the operating system drive +- **Removable data drives** lists the settings applicable to any removable drives + +> [!NOTE] +> Settings are enforced only at the time encryption is started. Encryption isn't restarted with settings changes. #### [:::image type="icon" source="images/locked-drive.svg"::: **Common settings**](#tab/common) -- [Choose default folder for recovery password](#choose-default-folder-for-recovery-password) -- [Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength) -- [Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked) -- [Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart) -- [Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization) -- [Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance) +|Policy name| CSP | GPO | +|-|-|-| +|[Choose default folder for recovery password](#choose-default-folder-for-recovery-password)|✅|✅| +|[Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength)|✅|✅| +|[Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked)|✅|✅| +|[Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart)|✅|✅| +|[Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization)|❌|✅| +|[Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance)|✅|❌| ### Choose default folder for recovery password @@ -98,7 +103,7 @@ This policy setting allows you to associate an object identifier from a smart ca | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | -#### [:::image type="icon" source="images/os-drive.svg"::: **OS data drive**](#tab/os) +#### [:::image type="icon" source="images/os-drive.svg"::: **Operating system drive**](#tab/os) - Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN. - Allow enhanced PINs for startup @@ -254,7 +259,7 @@ This policy setting allows you to associate an object identifier from a smart ca | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | -#### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drive**](#tab/fixed) +#### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drives**](#tab/fixed) - Choose how BitLocker-protected fixed drives can be recovered - Configure use of hardware-based encryption for fixed data drives @@ -312,7 +317,7 @@ This policy setting allows you to associate an object identifier from a smart ca | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | -#### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drive**](#tab/removable) +#### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drives**](#tab/removable) - Choose how BitLocker-protected removable drives can be recovered - Configure use of hardware-based encryption for removable data drives From 6c628ffdef43c0911d143faefe9eb61458597aea Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 22 Sep 2023 18:21:49 -0400 Subject: [PATCH 015/505] test --- .../data-protection/bitlocker/configure.md | 106 +++++++----------- 1 file changed, 39 insertions(+), 67 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 939dc1fcd6..43a10a8c21 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -23,6 +23,8 @@ The list of settings is sorted alphabetically and organized in four tabs: #### [:::image type="icon" source="images/locked-drive.svg"::: **Common settings**](#tab/common) +The following table lists the BitLocker policies applicable to all drive types, indicating if they're applicable via configuration service provider (CSP) and/or group policy (GPO). Select the policy name for more details. + |Policy name| CSP | GPO | |-|-|-| |[Choose default folder for recovery password](#choose-default-folder-for-recovery-password)|✅|✅| @@ -44,11 +46,10 @@ Specify the default path that is displayed when the *BitLocker Drive Encryption | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | -### Choose drive encryption method and cipher strength 🟢 +### Choose drive encryption method and cipher strength With this policy you can configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. Recommended settings: @@ -63,7 +64,6 @@ If you disable or do not configure this policy setting, BitLocker uses the defau | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | @@ -72,7 +72,6 @@ This policy setting allows you to block direct memory access (DMA) for all Thun | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | @@ -81,7 +80,6 @@ This policy setting controls computer restart performance at the risk of exposin | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | @@ -90,7 +88,6 @@ This policy setting allows you to associate unique organizational identifiers to | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | @@ -99,35 +96,35 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | #### [:::image type="icon" source="images/os-drive.svg"::: **Operating system drive**](#tab/os) -- Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN. -- Allow enhanced PINs for startup -- Allow network unlock at startup -- Allow Secure Boot for integrity validation -- Choose how BitLocker-protected operating system drives can be recovered -- Configure minimum PIN length for startup -- Configure pre-boot recovery message and URL -- Configure TPM platform validation profile for BIOS-based firmware configurations -- Configure TPM platform validation profile for native UEFI firmware configurations -- Configure use of hardware-based encryption for operating system drives -- Configure use of passwords for operating system drives -- Disallow standard users from changing the PIN or password -- Enable use of BitLocker authentication requiring preboot keyboard input on slates -- Enforce drive encryption type on operating system drives -- Require additional authentication at startup -- Reset platform validation data after BitLocker recovery -- Use enhanced Boot Configuration Data validation profile +|Policy name| CSP | GPO | +|-|-|-| +|Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN||| +|Allow enhanced PINs for startup||| +|Allow network unlock at startup||| +|Allow Secure Boot for integrity validation||| +|Choose how BitLocker-protected operating system drives can be recovered||| +|Configure minimum PIN length for startup||| +|Configure pre-boot recovery message and URL||| +|Configure TPM platform validation profile for BIOS-based firmware configurations||| +|Configure TPM platform validation profile for native UEFI firmware configurations||| +|Configure use of hardware-based encryption for operating system drives||| +|Configure use of passwords for operating system drives||| +|Disallow standard users from changing the PIN or password||| +|Enable use of BitLocker authentication requiring preboot keyboard input on slates||| +|Enforce drive encryption type on operating system drives||| +|Require additional authentication at startup||| +|Reset platform validation data after BitLocker recovery||| +|Use enhanced Boot Configuration Data validation profile||| ### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -135,7 +132,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -143,7 +139,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -151,7 +146,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -159,7 +153,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -167,7 +160,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -175,7 +167,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -183,7 +174,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -191,7 +181,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -199,7 +188,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -207,7 +195,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -215,7 +202,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -223,7 +209,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -231,7 +216,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -239,7 +223,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -247,7 +230,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | @@ -255,25 +237,25 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drives**](#tab/fixed) -- Choose how BitLocker-protected fixed drives can be recovered -- Configure use of hardware-based encryption for fixed data drives -- Configure use of passwords for fixed data drives -- Configure use of smart cards on fixed data drives -- Deny write access to fixed drives not protected by BitLocker -- Enforce drive encryption type on fixed data drives +|Policy name| CSP | GPO | +|-|-|-| +|Choose how BitLocker-protected fixed drives can be recovered||| +|Configure use of hardware-based encryption for fixed data drives||| +|Configure use of passwords for fixed data drives||| +|Configure use of smart cards on fixed data drives||| +|Deny write access to fixed drives not protected by BitLocker||| +|Enforce drive encryption type on fixed data drives||| ### Choose how BitLocker-protected fixed drives can be recovered | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | @@ -281,7 +263,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | @@ -289,7 +270,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | @@ -297,7 +277,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | @@ -305,7 +284,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | @@ -313,25 +291,25 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drives**](#tab/removable) -- Choose how BitLocker-protected removable drives can be recovered -- Configure use of hardware-based encryption for removable data drives -- Configure use of passwords for removable data drives -- Configure use of smart cards on removable data drives -- Control use of BitLocker on removable drives -- Deny write access to removable drives not protected by BitLocker -- Enforce drive encryption type on removable data drives +|Policy name| CSP | GPO | +|-|-|-| +|Choose how BitLocker-protected removable drives can be recovered||| +|Configure use of hardware-based encryption for removable data drives||| +|Configure use of passwords for removable data drives||| +|Configure use of smart cards on removable data drives||| +|Control use of BitLocker on removable drives||| +|Deny write access to removable drives not protected by BitLocker||| +|Enforce drive encryption type on removable data drives||| ### Choose how BitLocker-protected removable drives can be recovered | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | @@ -339,7 +317,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | @@ -347,7 +324,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | @@ -355,7 +331,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | @@ -363,7 +338,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | @@ -371,7 +345,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | @@ -379,7 +352,6 @@ This policy setting allows you to associate an object identifier from a smart ca | Configuration tool | Path | |--|--| -| Intune settings catalog | Not available | | CSP | Not available | | Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | From 7f0de8cec098f44ea8bb95a0201df4e7c36a1d5d Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 22 Sep 2023 18:28:32 -0400 Subject: [PATCH 016/505] test --- .../data-protection/bitlocker/configure.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 43a10a8c21..b77f6cf59f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -9,6 +9,10 @@ ms.date: 09/19/2023 # BitLocker settings list +[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup) +[Allow network unlock at startup](#allow-network-unlock-at-startup) +[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation) + This reference article describes the available settings to configure BitLocker via Microsoft Intune, CSP, and group policies. The list of settings is sorted alphabetically and organized in four tabs: @@ -104,9 +108,9 @@ This policy setting allows you to associate an object identifier from a smart ca |Policy name| CSP | GPO | |-|-|-| |Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN||| -|Allow enhanced PINs for startup||| -|Allow network unlock at startup||| -|Allow Secure Boot for integrity validation||| +|[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup)||| +|[Allow network unlock at startup](#allow-network-unlock-at-startup)||| +|[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation)||| |Choose how BitLocker-protected operating system drives can be recovered||| |Configure minimum PIN length for startup||| |Configure pre-boot recovery message and URL||| From 60bd854d5135eb66c0390428ecff880669d34a8a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sat, 23 Sep 2023 10:08:49 -0400 Subject: [PATCH 017/505] test --- .../data-protection/bitlocker/configure.md | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index b77f6cf59f..771179db3c 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -31,12 +31,28 @@ The following table lists the BitLocker policies applicable to all drive types, |Policy name| CSP | GPO | |-|-|-| -|[Choose default folder for recovery password](#choose-default-folder-for-recovery-password)|✅|✅| +|[[Allow Standard User Encryption](#allow-standard-user-encryption)]|✅|❌| +|[[Allow Suspension Of BitLocker Protection](#allow-suspension-of-bitlocker-protection)]|✅|❌| +|[Choose default folder for recovery password](#choose-default-folder-for-recovery-password)|❌|✅| |[Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength)|✅|✅| -|[Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked)|✅|✅| -|[Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart)|✅|✅| -|[Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization)|❌|✅| -|[Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance)|✅|❌| +|[Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked)|❌|✅| +|[Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart)|❌|✅| +|[Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization)|✅|✅| +|[Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance)|❌|✅| + +### Allow Standard User Encryption + +| Configuration tool | Path | +|--|--| +| CSP | ./Device/Vendor/MSFT/BitLocker/[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)| +| Group policy | Not available | + +### Allow Suspension Of BitLocker Protection + +| Configuration tool | Path | +|--|--| +| CSP | ./Device/Vendor/MSFT/BitLocker/[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection) | +| Group policy | Not available | ### Choose default folder for recovery password From 8d3e1cd2b56d5695cb89b85aa1a964a90526bfd9 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sat, 23 Sep 2023 10:14:41 -0400 Subject: [PATCH 018/505] test --- .../data-protection/bitlocker/configure.md | 240 +++++++++--------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 771179db3c..0f4ea476de 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -29,10 +29,10 @@ The list of settings is sorted alphabetically and organized in four tabs: The following table lists the BitLocker policies applicable to all drive types, indicating if they're applicable via configuration service provider (CSP) and/or group policy (GPO). Select the policy name for more details. -|Policy name| CSP | GPO | +|Policy name| **CSP** | GPO | |-|-|-| -|[[Allow Standard User Encryption](#allow-standard-user-encryption)]|✅|❌| -|[[Allow Suspension Of BitLocker Protection](#allow-suspension-of-bitlocker-protection)]|✅|❌| +|[Allow Standard User Encryption](#allow-standard-user-encryption)|✅|❌| +|[Allow Suspension Of BitLocker Protection](#allow-suspension-of-bitlocker-protection)|✅|❌| |[Choose default folder for recovery password](#choose-default-folder-for-recovery-password)|❌|✅| |[Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength)|✅|✅| |[Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked)|❌|✅| @@ -42,17 +42,17 @@ The following table lists the BitLocker policies applicable to all drive types, ### Allow Standard User Encryption -| Configuration tool | Path | +| | Path | |--|--| -| CSP | ./Device/Vendor/MSFT/BitLocker/[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)| -| Group policy | Not available | +| **CSP** | `./Device/Vendor/MSFT/BitLocker/[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)`| +| **GPO** | Not available | ### Allow Suspension Of BitLocker Protection -| Configuration tool | Path | +| | Path | |--|--| -| CSP | ./Device/Vendor/MSFT/BitLocker/[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection) | -| Group policy | Not available | +| **CSP** | `./Device/Vendor/MSFT/BitLocker/[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection)`| +| **GPO** | Not available | ### Choose default folder for recovery password @@ -64,10 +64,10 @@ Specify the default path that is displayed when the *BitLocker Drive Encryption > [!NOTE] > This policy setting does not prevent the user from saving the recovery password in another folder. -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | ### Choose drive encryption method and cipher strength @@ -82,46 +82,46 @@ Recommended settings: If you disable or do not configure this policy setting, BitLocker uses the default encryption method of XTS-AES 128-bit. -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | ### Disable new DMA devices when this computer is locked This policy setting allows you to block direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | ### Prevent memory overwrite on restart This policy setting controls computer restart performance at the risk of exposing BitLocker secrets. This policy setting is applied when you turn on BitLocker. BitLocker secrets include key material used to encrypt data. This policy setting applies only when BitLocker protection is enabled. If you enable this policy setting, memory will not be overwritten when the computer restarts. Preventing memory overwrite may improve restart performance but will increase the risk of exposing BitLocker secrets. If you disable or do not configure this policy setting, BitLocker secrets are removed from memory when the computer restarts. -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | ### Provide the unique identifiers for your organization This policy setting allows you to associate unique organizational identifiers to a new drive that is enabled with BitLocker. These identifiers are stored as the identification field and allowed identification field. The identification field allows you to associate a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives and can be updated on existing BitLocker-protected drives using the manage-bde command-line tool. An identification field is required for management of certificate-based data recovery agents on BitLocker-protected drives and for potential updates to the BitLocker To Go Reader. BitLocker will only manage and update data recovery agents when the identification field on the drive matches the value configured in the identification field. In a similar manner, BitLocker will only update the BitLocker To Go Reader when the identification field on the drive matches the value configured for the identification field. The allowed identification field is used in combination with the "Deny write access to removable drives not protected by BitLocker" policy setting to help control the use of removable drives in your organization. It is a comma separated list of identification fields from your organization or other external organizations. You can configure the identification fields on existing drives by using manage-bde.exe. If you enable this policy setting, you can configure the identification field on the BitLocker-protected drive and any allowed identification field used by your organization. When a BitLocker-protected drive is mounted on another BitLocker-enabled computer the identification field and allowed identification field will be used to determine whether the drive is from an outside organization. If you disable or do not configure this policy setting, the identification field is not required. Note: Identification fields are required for management of certificate-based data recovery agents on BitLocker-protected drives. BitLocker will only manage and update certificate-based data recovery agents when the identification field is present on a drive and is identical to the value configured on the computer. The identification field can be any value of 260 characters or fewer. -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | ### Validate smart card certificate usage rule compliance This policy setting allows you to associate an object identifier from a smart card certificate to a BitLocker-protected drive. This policy setting is applied when you turn on BitLocker. The object identifier is specified in the enhanced key usage (EKU) of a certificate. BitLocker can identify which certificates may be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. Default object identifier is 1.3.6.1.4.1.311.67.1.1 Note: BitLocker does not require that a certificate have an EKU attribute, but if one is configured for the certificate it must be set to an object identifier (OID) that matches the OID configured for BitLocker. If you enable this policy setting, the object identifier specified in the "Object identifier" box must match the object identifier in the smart card certificate. If you disable or do not configure this policy setting, a default object identifier is used. -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | #### [:::image type="icon" source="images/os-drive.svg"::: **Operating system drive**](#tab/os) -|Policy name| CSP | GPO | +|Policy name| **CSP** | GPO | |-|-|-| |Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN||| |[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup)||| @@ -143,126 +143,126 @@ This policy setting allows you to associate an object identifier from a smart ca ### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Allow enhanced PINs for startup -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Allow network unlock at startup -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Allow Secure Boot for integrity validation -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Choose how BitLocker-protected operating system drives can be recovered -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Configure minimum PIN length for startup -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Configure pre-boot recovery message and URL -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Configure TPM platform validation profile for BIOS-based firmware configurations -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Configure TPM platform validation profile for native UEFI firmware configurations -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Configure use of hardware-based encryption for operating system drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Configure use of passwords for operating system drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Disallow standard users from changing the PIN or password -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Enable use of BitLocker authentication requiring preboot keyboard input on slates -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Enforce drive encryption type on operating system drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Require additional authentication at startup -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Reset platform validation data after BitLocker recovery -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | ### Use enhanced Boot Configuration Data validation profile -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drives**](#tab/fixed) -|Policy name| CSP | GPO | +|Policy name| **CSP** | GPO | |-|-|-| |Choose how BitLocker-protected fixed drives can be recovered||| |Configure use of hardware-based encryption for fixed data drives||| @@ -274,49 +274,49 @@ This policy setting allows you to associate an object identifier from a smart ca ### Choose how BitLocker-protected fixed drives can be recovered -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | ### Configure use of hardware-based encryption for fixed data drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | ### Configure use of passwords for fixed data drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | ### Configure use of smart cards on fixed data drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | ### Deny write access to fixed drives not protected by BitLocker -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | ### Enforce drive encryption type on fixed data drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drives**](#tab/removable) -|Policy name| CSP | GPO | +|Policy name| **CSP** | GPO | |-|-|-| |Choose how BitLocker-protected removable drives can be recovered||| |Configure use of hardware-based encryption for removable data drives||| @@ -328,52 +328,52 @@ This policy setting allows you to associate an object identifier from a smart ca ### Choose how BitLocker-protected removable drives can be recovered -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | ### Configure use of hardware-based encryption for removable data drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | ### Configure use of passwords for removable data drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | ### Configure use of smart cards on removable data drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | ### Control use of BitLocker on removable drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | ### Deny write access to removable drives not protected by BitLocker -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | ### Enforce drive encryption type on removable data drives -| Configuration tool | Path | +| | Path | |--|--| -| CSP | Not available | -| Group policy | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | --- From 922be144837883e3ca2bd44f78e9203516e23053 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sat, 23 Sep 2023 10:22:12 -0400 Subject: [PATCH 019/505] test --- .../data-protection/bitlocker/configure.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 0f4ea476de..1ccf42c356 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -29,7 +29,7 @@ The list of settings is sorted alphabetically and organized in four tabs: The following table lists the BitLocker policies applicable to all drive types, indicating if they're applicable via configuration service provider (CSP) and/or group policy (GPO). Select the policy name for more details. -|Policy name| **CSP** | GPO | +|Policy name| CSP | GPO | |-|-|-| |[Allow Standard User Encryption](#allow-standard-user-encryption)|✅|❌| |[Allow Suspension Of BitLocker Protection](#allow-suspension-of-bitlocker-protection)|✅|❌| @@ -44,14 +44,14 @@ The following table lists the BitLocker policies applicable to all drive types, | | Path | |--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)`| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)| | **GPO** | Not available | ### Allow Suspension Of BitLocker Protection | | Path | |--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection)`| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection)| | **GPO** | Not available | ### Choose default folder for recovery password @@ -121,7 +121,7 @@ This policy setting allows you to associate an object identifier from a smart ca #### [:::image type="icon" source="images/os-drive.svg"::: **Operating system drive**](#tab/os) -|Policy name| **CSP** | GPO | +|Policy name| CSP | GPO | |-|-|-| |Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN||| |[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup)||| @@ -262,7 +262,7 @@ This policy setting allows you to associate an object identifier from a smart ca #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drives**](#tab/fixed) -|Policy name| **CSP** | GPO | +|Policy name| CSP | GPO | |-|-|-| |Choose how BitLocker-protected fixed drives can be recovered||| |Configure use of hardware-based encryption for fixed data drives||| @@ -316,7 +316,7 @@ This policy setting allows you to associate an object identifier from a smart ca #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drives**](#tab/removable) -|Policy name| **CSP** | GPO | +|Policy name| CSP | GPO | |-|-|-| |Choose how BitLocker-protected removable drives can be recovered||| |Configure use of hardware-based encryption for removable data drives||| From a2ad49ffcb31f09ca2c06837729ad715223ceb81 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sat, 23 Sep 2023 10:40:46 -0400 Subject: [PATCH 020/505] test --- .../data-protection/bitlocker/configure.md | 1362 +---------------- 1 file changed, 51 insertions(+), 1311 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 1ccf42c356..79cf3d38d4 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -123,23 +123,26 @@ This policy setting allows you to associate an object identifier from a smart ca |Policy name| CSP | GPO | |-|-|-| -|Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN||| +|[Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN](#allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin)||| |[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup)||| |[Allow network unlock at startup](#allow-network-unlock-at-startup)||| |[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation)||| -|Choose how BitLocker-protected operating system drives can be recovered||| -|Configure minimum PIN length for startup||| -|Configure pre-boot recovery message and URL||| -|Configure TPM platform validation profile for BIOS-based firmware configurations||| -|Configure TPM platform validation profile for native UEFI firmware configurations||| -|Configure use of hardware-based encryption for operating system drives||| -|Configure use of passwords for operating system drives||| -|Disallow standard users from changing the PIN or password||| -|Enable use of BitLocker authentication requiring preboot keyboard input on slates||| -|Enforce drive encryption type on operating system drives||| -|Require additional authentication at startup||| -|Reset platform validation data after BitLocker recovery||| -|Use enhanced Boot Configuration Data validation profile||| +|[Allow Warning For Other Disk Encryption](#allow-warning-for-other-disk-encryption)|✅|❌| +|[Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered)||| +|[Configure minimum PIN length for startup](#configure-minimum-pin-length-for-startup)||| +|[Configure pre-boot recovery message and URL](#configure-pre-boot-recovery-message-and-url)||| +|[Configure Recovery Password Rotation](#configure-recovery-password-rotation)|✅|❌| +|[Configure TPM platform validation profile for BIOS-based firmware configurations](#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations)||| +|[Configure TPM platform validation profile for native UEFI firmware configurations](#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations)||| +|[Configure use of hardware-based encryption for operating system drives](#configure-use-of-hardware-based-encryption-for-operating-system-drives)||| +|[Configure use of passwords for operating system drives](#configure-use-of-passwords-for-operating-system-drives)||| +|[Disallow standard users from changing the PIN or password](#disallow-standard-users-from-changing-the-pin-or-password)||| +|[Enable use of BitLocker authentication requiring preboot keyboard input on slates](#enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates)||| +|[Enforce drive encryption type on operating system drives](#enforce-drive-encryption-type-on-operating-system-drives)||| +|[Require additional authentication at startup](#require-additional-authentication-at-startup)||| +|[Require Device Encryption](#require-device-encryption)|✅|❌| +|[Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery)||| +|[Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile)||| ### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN @@ -169,6 +172,13 @@ This policy setting allows you to associate an object identifier from a smart ca | **CSP** | Not available | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +### Allow Warning For Other Disk Encryption + +| | Path | +|--|--| +| **CSP** | ``./Device/Vendor/MSFT/BitLocker/`[RequireDeviceEncryption](/windows/client-management/mdm/bitlocker-csp#requiredeviceencryption) | +| **GPO** | Not available | + ### Choose how BitLocker-protected operating system drives can be recovered | | Path | @@ -190,6 +200,13 @@ This policy setting allows you to associate an object identifier from a smart ca | **CSP** | Not available | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +### Configure Recovery Password Rotation + +| | Path | +|--|--| +| **CSP** | ``./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#allowwarningforotherdiskencryption)| +| **GPO** | Not available | + ### Configure TPM platform validation profile for BIOS-based firmware configurations | | Path | @@ -246,6 +263,13 @@ This policy setting allows you to associate an object identifier from a smart ca | **CSP** | Not available | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +### Require Device Encryption + +| | Path | +|--|--| +| **CSP** | ``./Device/Vendor/MSFT/BitLocker/`[ConfigureRecoveryPasswordRotation](/windows/client-management/mdm/bitlocker-csp#configurerecoverypasswordrotation) | +| **GPO** | Not available | + ### Reset platform validation data after BitLocker recovery | | Path | @@ -264,12 +288,12 @@ This policy setting allows you to associate an object identifier from a smart ca |Policy name| CSP | GPO | |-|-|-| -|Choose how BitLocker-protected fixed drives can be recovered||| -|Configure use of hardware-based encryption for fixed data drives||| -|Configure use of passwords for fixed data drives||| -|Configure use of smart cards on fixed data drives||| -|Deny write access to fixed drives not protected by BitLocker||| -|Enforce drive encryption type on fixed data drives||| +|[Choose how BitLocker-protected fixed drives can be recovered](#choose-how-bitlocker-protected-fixed-drives-can-be-recovered)||| +|[Configure use of hardware-based encryption for fixed data drives](#configure-use-of-hardware-based-encryption-for-fixed-data-drives)||| +|[Configure use of passwords for fixed data drives](#configure-use-of-passwords-for-fixed-data-drives)||| +|[Configure use of smart cards on fixed data drives](#configure-use-of-smart-cards-on-fixed-data-drives)||| +|[Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker)||| +|[Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives)||| ### Choose how BitLocker-protected fixed drives can be recovered @@ -318,13 +342,13 @@ This policy setting allows you to associate an object identifier from a smart ca |Policy name| CSP | GPO | |-|-|-| -|Choose how BitLocker-protected removable drives can be recovered||| -|Configure use of hardware-based encryption for removable data drives||| -|Configure use of passwords for removable data drives||| -|Configure use of smart cards on removable data drives||| -|Control use of BitLocker on removable drives||| -|Deny write access to removable drives not protected by BitLocker||| -|Enforce drive encryption type on removable data drives||| +|[Choose how BitLocker-protected removable drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered)||| +|[Configure use of hardware-based encryption for removable data drives](#configure-use-of-hardware-based-encryption-for-removable-data-drives)||| +|[Configure use of passwords for removable data drives](#configure-use-of-passwords-for-removable-data-drives)||| +|[Configure use of smart cards on removable data drives](#configure-use-of-smart-cards-on-removable-data-drives)||| +|[Control use of BitLocker on removable drives](#control-use-of-bitlocker-on-removable-drives)||| +|[Deny write access to removable drives not protected by BitLocker](#deny-write-access-to-removable-drives-not-protected-by-bitlocker)||| +|[Enforce drive encryption type on removable data drives](#enforce-drive-encryption-type-on-removable-data-drives)||| ### Choose how BitLocker-protected removable drives can be recovered @@ -376,1287 +400,3 @@ This policy setting allows you to associate an object identifier from a smart ca | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | --- - -## Old - - -The following policy settings can be used to determine how a BitLocker-protected drive can be unlocked. - -- [Allow devices with Secure Boot and protected DMA ports to opt out of preboot PIN](#allow-devices-with-secure-boot-and-protected-dma-ports-to-opt-out-of-preboot-pin) -- [Allow network unlock at startup](#allow-network-unlock-at-startup) -- [Require additional authentication at startup](#require-additional-authentication-at-startup) -- [Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup) -- [Configure minimum PIN length for startup](#configure-minimum-pin-length-for-startup) -- [Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked) -- [Disallow standard users from changing the PIN or password](#disallow-standard-users-from-changing-the-pin-or-password) -- [Configure use of passwords for operating system drives](#configure-use-of-passwords-for-operating-system-drives) -- [Require additional authentication at startup (Windows Server 2008 and Windows Vista)](#require-additional-authentication-at-startup-windows-server-2008-and-windows-vista) -- [Configure use of smart cards on fixed data drives](#configure-use-of-smart-cards-on-fixed-data-drives) -- [Configure use of passwords on fixed data drives](#configure-use-of-passwords-on-fixed-data-drives) -- [Configure use of smart cards on removable data drives](#configure-use-of-smart-cards-on-removable-data-drives) -- [Configure use of passwords on removable data drives](#configure-use-of-passwords-on-removable-data-drives) -- [Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance) -- [Enable use of BitLocker authentication requiring preboot keyboard input on slates](#enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates) - -The following policy settings are used to control how users can access drives and how they can use BitLocker on their computers. - -- [Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker) -- [Deny write access to removable drives not protected by BitLocker](#deny-write-access-to-removable-drives-not-protected-by-bitlocker) -- [Control use of BitLocker on removable drives](#control-use-of-bitlocker-on-removable-drives) - -The following policy settings determine the encryption methods and encryption types that are used with BitLocker. - -- [Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength) -- [Configure use of hardware-based encryption for fixed data drives](#configure-use-of-hardware-based-encryption-for-fixed-data-drives) -- [Configure use of hardware-based encryption for operating system drives](#configure-use-of-hardware-based-encryption-for-operating-system-drives) -- [Configure use of hardware-based encryption for removable data drives](#configure-use-of-hardware-based-encryption-for-removable-data-drives) -- [Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives) -- [Enforce drive encryption type on operating system drives](#enforce-drive-encryption-type-on-operating-system-drives) -- [Enforce drive encryption type on removable data drives](#enforce-drive-encryption-type-on-removable-data-drives) - -The following policy settings define the recovery methods that can be used to restore access to a BitLocker-protected drive if an authentication method fails or is unable to be used. - -- [Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered) -- [Choose how users can recover BitLocker-protected drives (Windows Server 2008 and Windows Vista)](#choose-how-users-can-recover-bitlocker-protected-drives-windows-server-2008-and-windows-vista) -- [Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista)](#store-bitlocker-recovery-information-in-active-directory-domain-services-windows-server-2008-and-windows-vista) -- [Choose default folder for recovery password](#choose-default-folder-for-recovery-password) -- [Choose how BitLocker-protected fixed drives can be recovered](#choose-how-bitlocker-protected-fixed-drives-can-be-recovered) -- [Choose how BitLocker-protected removable drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure the pre-boot recovery message and URL](#configure-the-pre-boot-recovery-message-and-url) - -The following policies are used to support customized deployment scenarios in an organization. - -- [Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation) -- [Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization) -- [Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart) -- [Configure TPM platform validation profile for BIOS-based firmware configurations](#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations) -- [Configure TPM platform validation profile (Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2)](#configure-tpm-platform-validation-profile-windows-vista-windows-server-2008-windows-7-windows-server-2008-r2) -- [Configure TPM platform validation profile for native UEFI firmware configurations](#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations) -- [Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery) -- [Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile) -- [Allow access to BitLocker-protected fixed data drives from earlier versions of Windows](#allow-access-to-bitlocker-protected-fixed-data-drives-from-earlier-versions-of-windows) -- [Allow access to BitLocker-protected removable data drives from earlier versions of Windows](#allow-access-to-bitlocker-protected-removable-data-drives-from-earlier-versions-of-windows) - -### Allow devices with secure boot and protected DMA ports to opt out of preboot PIN - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, TPM-only protection can be allowed for newer, more secure devices, such as devices that support Modern Standby or HSTI, while requiring PIN on older devices.| -|**Introduced**|Windows 10, version 1703| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|This setting overrides the **Require startup PIN with TPM** option of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy on compliant hardware.| -|**When enabled**|Users on Modern Standby and HSTI compliant devices will have the choice to turn on BitLocker without preboot authentication.| -|**When disabled or not configured**|The options of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy apply.| - -#### Reference: Allow devices with secure boot and protected DMA ports to opt out of preboot PIN - -The preboot authentication option **Require startup PIN with TPM** of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy is often enabled to help ensure security for older devices that don't support Modern Standby. But visually impaired users have no audible way to know when to enter a PIN. -This setting enables an exception to the PIN-required policy on secure hardware. - -### Allow network unlock at startup - -This policy controls a portion of the behavior of the Network Unlock feature in BitLocker. This policy is required to enable BitLocker Network Unlock on a network because it allows clients running BitLocker to create the necessary network key protector during encryption. - -This policy is used with the BitLocker Drive Encryption Network Unlock Certificate security policy (located in the **Public Key Policies** folder of Local Computer Policy) to allow systems that are connected to a trusted network to properly utilize the Network Unlock feature. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled whether a BitLocker-protected computer that is connected to a trusted local area network and joined to a domain can create and use network key protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|Clients configured with a BitLocker Network Unlock certificate can create and use Network Key Protectors.| -|**When disabled or not configured**|Clients can't create and use Network Key Protectors.| - -#### Reference: Allow network unlock at startup - -To use a network key protector to unlock the computer, the computer and the server that hosts BitLocker Drive Encryption Network Unlock must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create a network key protector and to protect the information exchange with the server to unlock the computer. The Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Public Key Policies** > **BitLocker Drive Encryption Network Unlock Certificate** can be used on the domain controller to distribute this certificate to computers in the organization. This unlock method uses the TPM on the computer, so computers that don't have a TPM can't create network key protectors to automatically unlock by using Network Unlock. - -> [!NOTE] -> For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or can't connect to the domain controller at startup. - -For more information about Network Unlock feature, see [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md). - -### Require additional authentication at startup - -This policy setting is used to control which unlock options are available for operating system drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|If one authentication method is required, the other methods can't be allowed. Use of BitLocker with a TPM startup key or with a TPM startup key and a PIN must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.| -|**When enabled**|Users can configure advanced startup options in the BitLocker Setup Wizard.| -|**When disabled or not configured**|Users can configure only basic options on computers with a TPM.

Only one of the additional authentication options can be required at startup; otherwise, a policy error occurs.| - -#### Reference: Require additional authentication at startup - -If BitLocker needs to be used on a computer without a TPM, select **Allow BitLocker without a compatible TPM**. In this mode, a password or USB drive is required for startup. The USB drive stores the startup key that is used to encrypt the drive. When the USB drive is inserted, the startup key is authenticated, and the operating system drive is accessible. If the USB drive is lost or unavailable, BitLocker recovery is required to access the drive. - -On a computer with a compatible TPM, additional authentication methods can be used at startup to improve protection for encrypted data. When the computer starts, it can use: - -- Only the TPM -- Insertion of a USB flash drive containing the startup key -- The entry of a 4-digit to 20-digit personal identification number (PIN) -- A combination of the PIN and the USB flash drive - -There are four options for TPM-enabled computers or devices: - -- Configure TPM startup - - Allow TPM - - Require TPM - - Do not allow TPM -- Configure TPM startup PIN - - - Allow startup PIN with TPM - - Require startup PIN with TPM - - Do not allow startup PIN with TPM - -- Configure TPM startup key - - Allow startup key with TPM - - Require startup key with TPM - - Do not allow startup key with TPM - -- Configure TPM startup key and PIN - - Allow TPM startup key with PIN - - Require startup key and PIN with TPM - - Do not allow TPM startup key with PIN - -### Allow enhanced PINs for startup - -This policy setting permits the use of enhanced PINs when an unlock method that includes a PIN is used. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether enhanced startup PINs are used with BitLocker.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|All new BitLocker startup PINs that are set will be enhanced PINs. Existing drives that were protected by using standard startup PINs aren't affected.| -|**When disabled or not configured**|Enhanced PINs won't be used.| - -#### Reference: Allow enhanced PINs for startup - -Enhanced startup PINs permit the use of characters (including uppercase and lowercase letters, symbols, numbers, and spaces). This policy setting is applied when BitLocker is turned on. - -> [!IMPORTANT] -> Not all computers support enhanced PIN characters in the preboot environment. It's strongly recommended that users perform a system check during the BitLocker setup to verify that enhanced PIN characters can be used. - -### Configure minimum PIN length for startup - -This policy setting is used to set a minimum PIN length when an unlock method that includes a PIN is used. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured a minimum length for a TPM startup PIN. This policy setting is applied when BitLocker is turned on. The startup PIN must have a minimum length of four digits, and it can have a maximum length of 20 digits. By default, the minimum PIN length is 6.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|The required minimum length of startup PINs set by users can be set between 4 and 20 digits.| -|**When disabled or not configured**|Users can configure a startup PIN of any length between 6 and 20 digits.| - -#### Reference: Configure minimum PIN length for startup - -This policy setting is applied when BitLocker is turned on. The startup PIN must have a minimum length of four digits and can have a maximum length of 20 digits. - -Originally, BitLocker allowed a length from 4 to 20 characters for a PIN. Windows Hello has its own PIN for sign-in, length of which can be 4 to 127 characters. Both BitLocker and Windows Hello use the TPM to prevent PIN brute-force attacks. - -The TPM can be configured to use Dictionary Attack Prevention parameters ([lockout threshold and lockout duration](../../../hardware-security/tpm/trusted-platform-module-services-group-policy-settings.md) to control how many failed authorizations attempts are allowed before the TPM is locked out, and how much time must elapse before another attempt can be made. - -The Dictionary Attack Prevention Parameters provide a way to balance security needs with usability. For example, when BitLocker is used with a TPM + PIN configuration, the number of PIN guesses is limited over time. A TPM 2.0 in this example could be configured to allow only 32 PIN guesses immediately, and then only one more guess every two hours. This number of attempts totals to a maximum of about 4415 guesses per year. If the PIN is four digits, all 9999 possible PIN combinations could be attempted in a little over two years. - -Increasing the PIN length requires a greater number of guesses for an attacker. In that case, the lockout duration between each guess can be shortened to allow legitimate users to retry a failed attempt sooner, while maintaining a similar level of protection. - -Beginning with Windows 10, version 1703, the minimum length for the BitLocker PIN was increased to six characters to better align with other Windows features that use TPM 2.0, including Windows Hello. To help organizations with the transition, beginning with Windows 10, version 1709 and Windows 10, version 1703 with the October 2017 [cumulative update](https://support.microsoft.com/help/4018124) installed, the BitLocker PIN length is six characters by default, but it can be reduced to four characters. If the minimum PIN length is reduced from the default of six characters, then the TPM 2.0 lockout period will be extended. - -### Disable new DMA devices when this computer is locked - -This policy setting allows blocking of direct memory access (DMA) for all hot pluggable PCI ports until a user signs in to Windows. - -| Item | Info | -|:---|:---| -|**Policy description**|This setting helps prevent attacks that use external PCI-based devices to access BitLocker keys.| -|**Introduced**|Windows 10, version 1703| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|Every time the user locks the screen, DMA will be blocked on hot pluggable PCI ports until the user signs in again.| -|**When disabled or not configured**|DMA is available on hot pluggable PCI devices if the device is turned on, regardless of whether a user is signed in.| - -#### Reference: Disable new DMA devices when this computer is locked - -This policy setting is only enforced when BitLocker or device encryption is enabled. As explained in the [Microsoft Security Guidance blog](/archive/blogs/secguide/issue-with-bitlockerdma-setting-in-windows-10-fall-creators-update-v1709), in some cases when this setting is enabled, internal, PCI-based peripherals can fail, including wireless network drivers and input and audio peripherals. This problem is fixed in the [April 2018 quality update](https://support.microsoft.com/help/4093105). - -### Disallow standard users from changing the PIN or password - -This policy setting allows configuration of whether standard users are allowed to change the PIN or password that is used to protect the operating system drive. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether standard users are allowed to change the PIN or password used to protect the operating system drive.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|Standard users aren't allowed to change BitLocker PINs or passwords.| -|**When disabled or not configured**|Standard users are permitted to change BitLocker PINs or passwords.| - -#### Reference: Disallow standard users from changing the PIN or password - -To change the PIN or password, the user must be able to provide the current PIN or password. This policy setting is applied when BitLocker is turned on. - -### Configure use of passwords for operating system drives - -This policy controls how non-TPM based systems utilize the password protector. Used with the **Password must meet complexity requirements** policy, this policy allows administrators to require password length and complexity for using the password protector. By default, passwords must be eight characters in length. Complexity configuration options determine how important domain connectivity is for the client. For the strongest password security, administrators should choose **Require password complexity** because it requires domain connectivity, and it requires that the BitLocker password meets the same password complexity requirements as domain sign-in passwords. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, the constraints for passwords that are used to unlock operating system drives that are protected with BitLocker can be specified.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|Passwords can't be used if FIPS-compliance is enabled.
**NOTE:** The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting, which is located at *Computer Configuration* > *Windows Settings* > *Security Settings* > *Local Policies* > *Security Options* specifies whether FIPS-compliance is enabled.
| -|**When enabled**|Users can configure a password that meets the defined requirements. To enforce complexity requirements for the password, select **Require complexity**.| -|**When disabled or not configured**|The default length constraint of eight characters will apply to operating system drive passwords and no complexity checks will occur.| - -#### Reference: Configure use of passwords for operating system drives - -If non-TPM protectors are allowed on operating system drives, a password, enforcement of complexity requirements on the password, and configuration of a minimum length for the password can all be provisioned. For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements**, which is located at *Computer Configuration* > *Windows Settings* > *Security Settings* > *Account Policies* > *Password Policy*, must be also enabled. - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. - -When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. If no domain controllers are found, the password will be accepted regardless of actual password complexity, and the drive will be encrypted by using that password as a protector. When set to **Do not allow complexity**, there's no password complexity validation. - -Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the desired number of characters in the **Minimum password length** box. - -When this policy setting is enabled, the option **Configure password complexity for operating system drives** can be set to: - -- Allow password complexity -- Deny password complexity -- Require password complexity - -### Require additional authentication at startup (Windows Server 2008 and Windows Vista) - -This policy setting is used to control what unlock options are available for computers running Windows Server 2008 or Windows Vista. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled whether the BitLocker Setup Wizard on computers running Windows Vista or Windows Server 2008 can set up an additional authentication method that is required each time the computer starts.| -|**Introduced**|Windows Server 2008 and Windows Vista| -|**Drive type**|Operating system drives (Windows Server 2008 and Windows Vista)| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|If an additional authentication method is chosen, other authentication methods can't be allowed.| -|**When enabled**|The BitLocker Setup Wizard displays the page that allows the user to configure advanced startup options for BitLocker. Setting options can be further configured for computers with or without a TPM.| -|**When disabled or not configured**|The BitLocker Setup Wizard displays basic steps that allow users to enable BitLocker on computers with a TPM. In this basic wizard, no additional startup key or startup PIN can be configured.| - -#### Reference: Require additional authentication at startup (Windows Server 2008 and Windows Vista) - -On a computer with a compatible TPM, two authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can prompt users to insert a USB drive that contains a startup key. It can also prompt users to enter a startup PIN with a length between 6 and 20 digits. - -A USB drive that contains a startup key is needed on computers without a compatible TPM. Without a TPM, BitLocker-encrypted data is protected solely by the key material that is on this USB drive. - -There are two options for TPM-enabled computers or devices: - -- Configure TPM startup PIN - - Allow startup PIN with TPM - - Require startup PIN with TPM - - Do not allow startup PIN with TPM - -- Configure TPM startup key - - Allow startup key with TPM - - Require startup key with TPM - - Do not allow startup key with TPM - -These options are mutually exclusive. If a startup key is required, a startup PIN isn't allowed. If startup PIN is required, startup key isn't allowed. If these policies are in conflict, a policy error will occur. - -To hide the advanced page on a TPM-enabled computer or device, set these options to **Do not allow** for the startup key and for the startup PIN. - -### Configure use of smart cards on fixed data drives - -This policy setting is used to require, allow, or deny the use of smart cards with fixed data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting can be used to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives on a computer.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|To use smart cards with BitLocker, the object identifier setting in the **Computer Configuration\Administrative Templates\BitLocker Drive Encryption\Validate smart card certificate usage rule compliance** policy setting may need to be modified to match the object identifier of the smart card certificates.| -|**When enabled**|Smart cards can be used to authenticate user access to the drive. Smart card authentication can be required by selecting the **Require use of smart cards on fixed data drives** check box.| -|**When disabled**|Users can't use smart cards to authenticate their access to BitLocker-protected fixed data drives.| -|**When not configured**|Smart cards can be used to authenticate user access to a BitLocker-protected drive.| - -#### Reference: Configure use of smart cards on fixed data drives - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive by using any of the protectors that are available on the drive. - -### Configure use of passwords on fixed data drives - -This policy setting is used to require, allow, or deny the use of passwords with fixed data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be specified whether a password is required to unlock BitLocker-protected fixed data drives.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|To use password complexity, the **Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\Password must meet complexity requirements** policy setting must also be enabled.| -|**When enabled**|Users can configure a password that meets the defined requirements. To require the use of a password, select **Require password for fixed data drive**. To enforce complexity requirements on the password, select **Require complexity**.| -|**When disabled**|The user isn't allowed to use a password.| -|**When not configured**|Passwords are supported with the default settings, which don't include password complexity requirements and require only eight characters.| - -#### Reference: Configure use of passwords on fixed data drives - -When set to **Require complexity**, a connection to a domain controller is necessary to validate the complexity of the password when BitLocker is enabled. - -When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. However, if no domain controllers are found, the password is accepted regardless of the actual password complexity, and the drive is encrypted by using that password as a protector. - -When set to **Do not allow complexity**, no password complexity validation is performed. - -Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the desired number of characters in the **Minimum password length** box. - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. - -For the complexity requirement setting to be effective, the Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy** > **Password must meet complexity requirements** must also be enabled. This policy setting is configured on a per-computer basis. The policy setting also applies to both local user accounts and domain user accounts. Because the password filter that's used to validate password complexity is located on the domain controllers, local user accounts can't access the password filter because they're not authenticated for domain access. When this policy setting is enabled, if a local user account signs in, and a drive is attempted to be encrypted or a password changed on an existing BitLocker-protected drive, an **Access denied** error message is displayed. In this situation, the password key protector can't be added to the drive. - -Enabling this policy setting requires that a device is connected to a domain before adding a password key protector to a BitLocker-protected drive. Users who work remotely and have periods of time in which they can't connect to the domain should be made aware of this requirement so that they can schedule a time when they'll be connected to the domain to turn on BitLocker or to change a password on a BitLocker-protected data drive. - -> [!IMPORTANT] -> Passwords can't be used if FIPS compliance is enabled. The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting in *Computer Configuration* > *Windows Settings* > *Security Settings* > *Local Policies* > *Security Options* specifies whether FIPS compliance is enabled. - -### Configure use of smart cards on removable data drives - -This policy setting is used to require, allow, or deny the use of smart cards with removable data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting can be used to specify whether smart cards can be used to authenticate user access to BitLocker-protected removable data drives on a computer.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|To use smart cards with BitLocker, the object identifier setting in the **Computer Configuration** > **Administrative Templates** > **BitLocker Drive Encryption** > **Validate smart card certificate usage rule compliance** policy setting may also need to be modified to match the object identifier of the smart card certificates.| -|**When enabled**|Smart cards can be used to authenticate user access to the drive. Smart card authentication can be required by selecting the **Require use of smart cards on removable data drives** check box.| -|**When disabled or not configured**|Users aren't allowed to use smart cards to authenticate their access to BitLocker-protected removable data drives.| -|**When not configured**|Smart cards are available to authenticate user access to a BitLocker-protected removable data drive.| - -#### Reference: Configure use of smart cards on removable data drives - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. - -### Configure use of passwords on removable data drives - -This policy setting is used to require, allow, or deny the use of passwords with removable data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be specified whether a password is required to unlock BitLocker-protected removable data drives.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|To use password complexity, the **Password must meet complexity requirements** policy setting, which is located at **Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy** must also be enabled.| -|**When enabled**|Users can configure a password that meets the defined requirements. To require the use of a password, select **Require password for removable data drive**. To enforce complexity requirements on the password, select **Require complexity**.| -|**When disabled**|The user isn't allowed to use a password.| -|**When not configured**|Passwords are supported with the default settings, which don't include password complexity requirements and require only eight characters.| - -#### Reference: Configure use of passwords on removable data drives - -If use of passwords is allowed, requiring a password to be used, enforcement of password complexity requirements, and password minimum length can all be configured. For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements**, which is located at *Computer Configuration* > *Windows Settings* > *Security Settings* > *Account Policies* > *Password Policy*, must also be enabled. - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. - -Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the wanted number of characters in the **Minimum password length** box. - -When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity of the password. - -When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. However, if no domain controllers are found, the password is still be accepted regardless of actual password complexity and the drive is encrypted by using that password as a protector. - -When set to **Do not allow complexity**, no password complexity validation is done. - -> [!NOTE] -> Passwords can't be used if FIPS compliance is enabled. The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** specifies whether FIPS compliance is enabled. - -For information about this setting, see [System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing](../../../threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md). - -### Validate smart card certificate usage rule compliance - -This policy setting is used to determine what certificate to use with BitLocker. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, an object identifier from a smart card certificate can be associated to a BitLocker-protected drive.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Fixed and removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|The object identifier that is specified in the **Object identifier** setting must match the object identifier in the smart card certificate.| -|**When disabled or not configured**|The default object identifier is used.| - -#### Reference: Validate smart card certificate usage rule compliance - -This policy setting is applied when BitLocker is turned on. - -The object identifier is specified in the extended key usage (EKU) of a certificate. BitLocker can identify which certificates can be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. - -The default object identifier is 1.3.6.1.4.1.311.67.1.1. - -> [!NOTE] -> BitLocker doesn't require that a certificate have an EKU attribute; however, if one is configured for the certificate, it must be set to an object identifier that matches the object identifier configured for BitLocker. - -### Enable use of BitLocker authentication requiring preboot keyboard input on slates - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, users can be allowed to enable authentication options that require user input from the preboot environment, even if the platform indicates a lack of preboot input capability.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drive| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|Devices must have an alternative means of preboot input (such as an attached USB keyboard).| -|**When disabled or not configured**|The Windows Recovery Environment must be enabled on tablets to support entering the BitLocker recovery password.| - -#### Reference: Enable use of BitLocker authentication requiring preboot keyboard input on slates - -The Windows touch keyboard (such as used by tablets) isn't available in the preboot environment where BitLocker requires additional information, such as a PIN or password. - -It's recommended that administrators enable this policy only for devices that are verified to have an alternative means of preboot input, such as attaching a USB keyboard. - -When the Windows Recovery Environment (WinRE) isn't enabled and this policy isn't enabled, BitLocker can't be turned on a device that uses the Windows touch keyboard. - -If this policy setting isn't enabled, the following options in the **Require additional authentication at startup** policy might not be available: - -- Configure TPM startup PIN: Required and Allowed -- Configure TPM startup key and PIN: Required and Allowed -- Configure use of passwords for operating system drives - -### Deny write access to fixed drives not protected by BitLocker - -This policy setting is used to require encryption of fixed drives prior to granting Write access. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be set whether BitLocker protection is required for fixed data drives to be writable on a computer.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|See the Reference section for a description of conflicts.| -|**When enabled**|All fixed data drives that aren't BitLocker-protected are mounted as Read-only. If the drive is protected by BitLocker, it's mounted with Read and Write access.| -|**When disabled or not configured**|All fixed data drives on the computer are mounted with Read and Write access.| - -#### Reference: Deny write access to fixed drives not protected by BitLocker - -This policy setting is applied when BitLocker is turned on. - -Conflict considerations include: - -1. When this policy setting is enabled, users receive **Access denied** error messages when they try to save data to unencrypted fixed data drives. See the Reference section for additional conflicts. - -2. If `BdeHdCfg.exe` is run on a computer when this policy setting is enabled, the following issues could be encountered: - - - If it was attempted to shrink a drive to create the system drive, the drive size is successfully reduced, and a raw partition is created. However, the raw partition isn't formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** - - - If it was attempted to use unallocated space to create the system drive, a raw partition will be created. However, the raw partition won't be formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** - - - If it was attempted to merge an existing drive into the system drive, the tool fails to copy the required boot file onto the target drive to create the system drive. The following error message is displayed: **BitLocker setup failed to copy boot files. You may need to manually prepare your drive for BitLocker.** - -3. If this policy setting is enforced, a hard drive can't be repartitioned because the drive is protected. If computers are being upgrading in an organization from a previous version of Windows, and those computers were configured with a single partition, the required BitLocker system partition should be created before applying this policy setting to the computers. - -### Deny write access to removable drives not protected by BitLocker - -This policy setting is used to require that removable drives are encrypted prior to granting Write access, and to control whether BitLocker-protected removable drives that were configured in another organization can be opened with Write access. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether BitLocker protection is required for a computer to be able to write data to a removable data drive.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|See the Reference section for a description of conflicts.| -|**When enabled**|All removable data drives that aren't BitLocker-protected are mounted as Read-only. If the drive is protected by BitLocker, it's mounted with Read and Write access.| -|**When disabled or not configured**|All removable data drives on the computer are mounted with Read and Write access.| - -#### Reference: Deny write access to removable drives not protected by BitLocker - -If the **Deny write access to devices configured in another organization** option is selected, only drives with identification fields that match the computer's identification fields are given Write access. When a removable data drive is accessed, it's checked for a valid identification field and allowed identification fields. These fields are defined by the **Provide the unique identifiers for your organization** policy setting. - -> [!NOTE] -> This policy setting can be overridden with the policy settings under **User Configuration** > **Administrative Templates** > **System** > **Removable Storage Access**. If the **Removable Disks: Deny write access** policy setting is enabled, this policy setting will be ignored. - -Conflict considerations include: - -1. Use of BitLocker with the TPM plus a startup key or with the TPM plus a PIN and startup key must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled. - -2. Use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled. - -3. The **Provide the unique identifiers for your organization** policy setting must be enabled if Write access needs to be denied to drives that were configured in another organization. - -### Control use of BitLocker on removable drives - -This policy setting is used to prevent users from turning BitLocker on or off on removable data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled the use of BitLocker on removable data drives.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|None| -|**When enabled**|Property settings can be selected that control how users can configure BitLocker.| -|**When disabled**|Users can't use BitLocker on removable data drives.| -|**When not configured**|Users can use BitLocker on removable data drives.| - -#### Reference: Control use of BitLocker on removable drives - -This policy setting is applied when BitLocker is turned on. - -For information about suspending BitLocker protection, see [BitLocker Basic Deployment](bitlocker-basic-deployment.md). - -The options for choosing property settings that control how users can configure BitLocker are: - -- **Allow users to apply BitLocker protection on removable data drives** Enables the user to run the BitLocker Setup Wizard on a removable data drive. - -- **Allow users to suspend and decrypt BitLocker on removable data drives** Enables the user to remove BitLocker from the drive or to suspend the encryption while performing maintenance. - -#### Reference: Choose drive encryption method and cipher strength - -The values of this policy determine the strength of the cipher that BitLocker uses for encryption. Enterprises may want to control the encryption level for increased security (AES-256 is stronger than AES-128). - -If this setting is enabled, it can be configured an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. - -- For fixed and operating system drives, it's recommended to use the XTS-AES algorithm. - -- For removable drives, AES-CBC 128-bit or AES-CBC 256-bit should be used if the drive will be used in other devices that aren't running Windows 10, version 1511 or later. - -Changing the encryption method has no effect if the drive is already encrypted or if encryption is in progress. In these cases, this policy setting is ignored. - -> [!WARNING] -> This policy doesn't apply to encrypted drives. Encrypted drives utilize their own algorithm, which is set by the drive during partitioning. - -When this policy setting is disabled or not configured, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method that is specified in the setup script. - -### Configure use of hardware-based encryption for fixed data drives - -This policy controls how BitLocker reacts to systems that are equipped with encrypted drives when they're used as fixed data volumes. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on fixed data drives and to specify which encryption algorithms BitLocker can use with hardware-based encryption.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|None| -|**When enabled**|Additional options can be specified that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that don't support hardware-based encryption. It can also be specified to restrict the encryption algorithms and cipher suites that are used with hardware-based encryption.| -|**When disabled**|BitLocker can't use hardware-based encryption with fixed data drives, and BitLocker software-based encryption is used by default when the drive in encrypted.| -|**When not configured**|BitLocker software-based encryption is used irrespective of hardware-based encryption ability.| - -#### Reference: Configure use of hardware-based encryption for fixed data drives - -> [!NOTE] -> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. - -The encryption algorithm that is used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm that is configured on the drive to encrypt the drive. The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option of this setting enables restriction of the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm that is set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID), for example: - -- Advanced Encryption Standard (AES) 128 in Cipher Block Chaining (CBC) mode OID: 2.16.840.1.101.3.4.1.2 -- AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -### Configure use of hardware-based encryption for operating system drives - -This policy controls how BitLocker reacts when encrypted drives are used as operating system drives. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on operating system drives and specifies which encryption algorithms it can use with hardware-based encryption.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|Additional options can be specified that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that don't support hardware-based encryption. It can also be specified to restrict the encryption algorithms and cipher suites that are used with hardware-based encryption.| -|**When disabled**|BitLocker can't use hardware-based encryption with operating system drives, and BitLocker software-based encryption is used by default when the drive in encrypted.| -|**When not configured**|BitLocker software-based encryption is used irrespective of hardware-based encryption ability.| - -#### Reference: Configure use of hardware-based encryption for operating system drives - -If hardware-based encryption isn't available, BitLocker software-based encryption is used instead. - -> [!NOTE] -> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. - -The encryption algorithm that is used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm that is configured on the drive to encrypt the drive. The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option of this setting enables restriction of the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm that is set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID), for example: - -- Advanced Encryption Standard (AES) 128 in Cipher Block Chaining (CBC) mode OID: 2.16.840.1.101.3.4.1.2 -- AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -### Configure use of hardware-based encryption for removable data drives - -This policy controls how BitLocker reacts to encrypted drives when they're used as removable data drives. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on removable data drives and specifies which encryption algorithms it can use with hardware-based encryption.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Removable data drive| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|None| -|**When enabled**|Additional options can be specified that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that don't support hardware-based encryption. It can also be specified to restrict the encryption algorithms and cipher suites that are used with hardware-based encryption.| -|**When disabled**|BitLocker can't use hardware-based encryption with removable data drives, and BitLocker software-based encryption is used by default when the drive in encrypted.| -|**When not configured**|BitLocker software-based encryption is used irrespective of hardware-based encryption ability.| - -#### Reference: Configure use of hardware-based encryption for removable data drives - -If hardware-based encryption isn't available, BitLocker software-based encryption is used instead. - -> [!NOTE] -> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. - -The encryption algorithm that is used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm that is configured on the drive to encrypt the drive. The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option of this setting enables restriction of the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm that is set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID), for example: - -- Advanced Encryption Standard (AES) 128 in Cipher Block Chaining (CBC) mode OID: 2.16.840.1.101.3.4.1.2 -- AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -### Enforce drive encryption type on fixed data drives - -This policy controls whether fixed data drives utilize Used Space Only encryption or Full encryption. Setting this policy also causes the BitLocker Setup Wizard to skip the encryption options page so no encryption selection displays to the user. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Fixed data drive| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|None| -|**When enabled**|This policy defines the encryption type that BitLocker uses to encrypt drives, and the encryption type option isn't presented in the BitLocker Setup Wizard.| -|**When disabled or not configured**|The BitLocker Setup Wizard asks the user to select the encryption type before turning on BitLocker.| - -#### Reference: Enforce drive encryption type on fixed data drives - -This policy setting is applied when BitLocker is turned on. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose Full encryption to make it mandatory for the entire drive to be encrypted when BitLocker is turned on. Choose Used Space Only encryption to make it mandatory to encrypt only that portion of the drive that is used to store data when BitLocker is turned on. - -> [!NOTE] -> This policy is ignored when a volume is being shrunk or expanded and the BitLocker drive uses the current encryption method. For example, when a drive that is using Used Space Only encryption is expanded, the new free space isn't wiped as it would be for a drive that is using Full encryption. The user could wipe the free space on a Used Space Only drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. - -For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -### Enforce drive encryption type on operating system drives - -This policy controls whether operating system drives utilize Full encryption or Used Space Only encryption. Setting this policy also causes the BitLocker Setup Wizard to skip the encryption options page, so no encryption selection displays to the user. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drive| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|The encryption type that BitLocker uses to encrypt drives is defined by this policy, and the encryption type option isn't presented in the BitLocker Setup Wizard.| -|**When disabled or not configured**|The BitLocker Setup Wizard asks the user to select the encryption type before turning on BitLocker.| - -#### Reference: Enforce drive encryption type on operating system drives - -This policy setting is applied when BitLocker is turned on. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose Full encryption to make it mandatory for the entire drive to be encrypted when BitLocker is turned on. Choose Used Space Only encryption to make it mandatory to encrypt only that portion of the drive that is used to store data when BitLocker is turned on. - -> [!NOTE] -> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using Used Space Only encryption is expanded, the new free space isn't wiped as it would be for a drive that uses Full encryption. The user could wipe the free space on a Used Space Only drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. - -For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -### Enforce drive encryption type on removable data drives - -This policy controls whether fixed data drives utilize Full encryption or Used Space Only encryption. Setting this policy also causes the BitLocker Setup Wizard to skip the encryption options page, so no encryption selection displays to the user. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Removable data drive| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|None| -|**When enabled**|The encryption type that BitLocker uses to encrypt drives is defined by this policy, and the encryption type option isn't presented in the BitLocker Setup Wizard.| -|**When disabled or not configured**|The BitLocker Setup Wizard asks the user to select the encryption type before turning on BitLocker.| - -#### Reference: Enforce drive encryption type on removable data drives - -This policy setting is applied when BitLocker is turned on. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose Full encryption to make it mandatory for the entire drive to be encrypted when BitLocker is turned on. Choose Used Space Only encryption to make it mandatory to encrypt only that portion of the drive that is used to store data when BitLocker is turned on. - -> [!NOTE] -> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using Used Space Only encryption is expanded, the new free space isn't wiped as it would be for a drive that is using Full Encryption. The user could wipe the free space on a Used Space Only drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. - -For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -### Choose how BitLocker-protected operating system drives can be recovered - -This policy setting is used to configure recovery methods for operating system drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled how BitLocker-protected operating system drives are recovered in the absence of the required startup key information.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| -|**When enabled**|it can be controlled the methods that are available to users to recover data from BitLocker-protected operating system drives.| -|**When disabled or not configured**|The default recovery options are supported for BitLocker recovery. By default, a data recovery agent is allowed, the recovery options can be specified by the user (including the recovery password and recovery key), and recovery information isn't backed up to AD DS.| - -#### Reference: Choose how BitLocker-protected operating system drives can be recovered - -This policy setting is applied when BitLocker is turned on. - -The **Allow data recovery agent** check box is used to specify whether a data recovery agent can be used with BitLocker-protected operating system drives. Before a data recovery agent can be used, it must be added from **Public Key Policies**, which is located in the Group Policy Management Console (GPMC) or in the Local Group Policy Editor. - -For more information about adding data recovery agents, see [BitLocker basic deployment](bitlocker-basic-deployment.md). - -In **Configure user storage of BitLocker recovery information**, select whether users are allowed, required, or not allowed to generate a 48-digit recovery password. - -Select **Omit recovery options from the BitLocker setup wizard** to prevent users from specifying recovery options when they enable BitLocker on a drive. This policy setting means that which recovery option to use when BitLocker is enabled can't be specified. Instead, BitLocker recovery options for the drive are determined by the policy setting. - -In **Save BitLocker recovery information to Active Directory Domain Services**, choose which BitLocker recovery information to store in Active Directory Domain Services (AD DS) for operating system drives. If **Store recovery password and key packages** is selected, the BitLocker recovery password and the key package are stored in AD DS. Storing the key package supports the recovery of data from a drive that is physically corrupted. If **Store recovery password only** is selected, only the recovery password is stored in AD DS. - -Select the **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** check box if users need to be prevented from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. - -> [!NOTE] -> If the **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** check box is selected, a recovery password is automatically generated. - -### Choose how users can recover BitLocker-protected drives (Windows Server 2008 and Windows Vista) - -This policy setting is used to configure recovery methods for BitLocker-protected drives on computers running Windows Server 2008 or Windows Vista. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled whether the BitLocker Setup Wizard can display and specify BitLocker recovery options.| -|**Introduced**|Windows Server 2008 and Windows Vista| -|**Drive type**|Operating system drives and fixed data drives on computers running Windows Server 2008 and Windows Vista| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|This policy setting provides an administrative method of recovering data that is encrypted by BitLocker to prevent data loss due to lack of key information. If the **Do not allow** option is chosen for both user recovery options, the **Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista)** policy setting must be enabled to prevent a policy error.| -|**When enabled**|The options that the BitLocker Setup Wizard displays to users for recovering BitLocker encrypted data can be configured.| -|**When disabled or not configured**|The BitLocker Setup Wizard presents users with ways to store recovery options.| - -#### Reference: Choose how users can recover BitLocker-protected drives (Windows Server 2008 and Windows Vista) - -This policy is only applicable to computers running Windows Server 2008 or Windows Vista. This policy setting is applied when BitLocker is turned on. - -Two recovery options can be used to unlock BitLocker-encrypted data in the absence of the required startup key information. Users can type a 48-digit numerical recovery password, or they can insert a USB drive that contains a 256-bit recovery key. - -- Saving the recovery password to a USB drive stores the 48-digit recovery password as a text file and the 256-bit recovery key as a hidden file. -- Saving the recovery password to a folder stores the 48-digit recovery password as a text file. -- Printing the recovery password sends the 48-digit recovery password to the default printer. - -For example, not allowing the 48-digit recovery password prevents users from printing or saving recovery information to a folder. - -> [!IMPORTANT] -> If TPM initialization is performed during the BitLocker setup, TPM owner information is saved or printed with the BitLocker recovery information. -> The 48-digit recovery password isn't available in FIPS-compliance mode. - -> [!IMPORTANT] -> To prevent data loss, there must be a way to recover BitLocker encryption keys. If both recovery options are not allowed, backup of BitLocker recovery information to AD DS must be enabled. Otherwise, a policy error occurs. - -### Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista) - -This policy setting is used to configure the storage of BitLocker recovery information in AD DS. This policy setting provides an administrative method of recovering data that is encrypted by BitLocker to prevent data loss due to lack of key information. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting allows management of the AD DS backup of BitLocker Drive Encryption recovery information.| -|**Introduced**|Windows Server 2008 and Windows Vista| -|**Drive type**|Operating system drives and fixed data drives on computers running Windows Server 2008 and Windows Vista.| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|BitLocker recovery information is automatically and silently backed up to AD DS when BitLocker is turned on for a computer.| -|**When disabled or not configured**|BitLocker recovery information isn't backed up to AD DS.| - -#### Reference: Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista) - -This policy is only applicable to computers running Windows Server 2008 or Windows Vista. - -This policy setting is applied when BitLocker is turned on. - -BitLocker recovery information includes the recovery password and unique identifier data. A package that contains an encryption key for a BitLocker-protected drive can also be included. This key package is secured by one or more recovery passwords, and it can help perform specialized recovery when the disk is damaged or corrupted. - -If **Require BitLocker backup to AD DS** is selected, BitLocker can't be turned on unless the computer is connected to the domain, and the backup of BitLocker recovery information to AD DS succeeds. This option is selected by default to help ensure that BitLocker recovery is possible. - -A recovery password is a 48-digit number that unlocks access to a BitLocker-protected drive. A key package contains a drive's BitLocker encryption key, which is secured by one or more recovery passwords. Key packages may help perform specialized recovery when the disk is damaged or corrupted. - -If the **Require BitLocker backup to AD DS** option isn't selected, AD DS backup is attempted, but network or other backup failures don't prevent the BitLocker setup. The Backup process isn't automatically retried, and the recovery password might not be stored in AD DS during BitLocker setup. -TPM initialization might be needed during the BitLocker setup. Enable the **Turn on TPM backup to Active Directory Domain Services** policy setting in **Computer Configuration** > **Administrative Templates** > **System** > **Trusted Platform Module Services** to ensure that TPM information is also backed up. - -For more information about this setting, see [TPM Group Policy settings](/windows/device-security/tpm/trusted-platform-module-services-group-policy-settings). - -### Choose default folder for recovery password - -This policy setting is used to configure the default folder for recovery passwords. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, the default path that is displayed when the BitLocker Setup Wizard prompts the user to enter the location of a folder in which to save the recovery password can be specified.| -|**Introduced**|Windows Vista| -|**Drive type**|All drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|The path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder can be specified. A fully qualified path can be specified. The target computer's environment variables can also be included in the path. If the path isn't valid, the BitLocker Setup Wizard displays the computer's top-level folder view.| -|**When disabled or not configured**|The BitLocker Setup Wizard displays the computer's top-level folder view when the user chooses the option to save the recovery password in a folder.| - -#### Reference: Choose default folder for recovery password - -This policy setting is applied when BitLocker is turned on. - -> [!NOTE] -> This policy setting doesn't prevent the user from saving the recovery password in another folder. - -### Choose how BitLocker-protected fixed drives can be recovered - -This policy setting is used to configure recovery methods for fixed data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled how BitLocker-protected fixed data drives are recovered in the absence of the required credentials.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| -|**When enabled**|it can be controlled the methods that are available to users to recover data from BitLocker-protected fixed data drives.| -|**When disabled or not configured**|The default recovery options are supported for BitLocker recovery. By default, a data recovery agent is allowed, the recovery options can be specified by the user (including the recovery password and recovery key), and recovery information isn't backed up to AD DS.| - -#### Reference: Choose how BitLocker-protected fixed drives can be recovered - -This policy setting is applied when BitLocker is turned on. - -The **Allow data recovery agent** check box is used to specify whether a data recovery agent can be used with BitLocker-protected fixed data drives. Before a data recovery agent can be used, it must be added from **Public Key Policies**, which is located in the Group Policy Management Console (GPMC) or in the Local Group Policy Editor. - -In **Configure user storage of BitLocker recovery information**, select whether users can be allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. - -Select **Omit recovery options from the BitLocker setup wizard** to prevent users from specifying recovery options when they enable BitLocker on a drive. This policy setting means that which recovery option to use when BitLocker is enabled can't be specified. Instead, BitLocker recovery options for the drive are determined by the policy setting. - -In **Save BitLocker recovery information to Active Directory Domain Services**, choose which BitLocker recovery information to store in AD DS for fixed data drives. If **Backup recovery password and key package** is selected, the BitLocker recovery password and the key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. To recover this data, the `Repair-bde.exe` command-line tool can be used. If **Backup recovery password only** is selected, only the recovery password is stored in AD DS. - -For more information about the BitLocker repair tool, see [Repair-bde](/windows-server/administration/windows-commands/repair-bde). - -Select the **Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives** check box if users should be prevented from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. - -> [!NOTE] -> If the **Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives** check box is selected, a recovery password is automatically generated. - -### Choose how BitLocker-protected removable drives can be recovered - -This policy setting is used to configure recovery methods for removable data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled how BitLocker-protected removable data drives are recovered in the absence of the required credentials.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| -|**When enabled**|it can be controlled the methods that are available to users to recover data from BitLocker-protected removable data drives.| -|**When disabled or not configured**|The default recovery options are supported for BitLocker recovery. By default, a data recovery agent is allowed, the recovery options can be specified by the user (including the recovery password and recovery key), and recovery information isn't backed up to AD DS.| - -#### Reference: Choose how BitLocker-protected removable drives can be recovered - -This policy setting is applied when BitLocker is turned on. - -The **Allow data recovery agent** check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used, it must be added from **Public Key Policies** , which is accessed using the GPMC or the Local Group Policy Editor. - -In **Configure user storage of BitLocker recovery information**, select whether users can be allowed, required, or not allowed to generate a 48-digit recovery password. - -Select **Omit recovery options from the BitLocker setup wizard** to prevent users from specifying recovery options when they enable BitLocker on a drive. This policy setting means that which recovery option to use when BitLocker is enabled can't be specified. Instead, BitLocker recovery options for the drive are determined by the policy setting. - -In **Save BitLocker recovery information to Active Directory Domain Services**, choose which BitLocker recovery information is to be stored in AD DS for removable data drives. If **Backup recovery password and key package** is selected, the BitLocker recovery password and the key package are stored in AD DS. If **Backup recovery password only** is selected, only the recovery password is stored in AD DS. - -Select the **Do not enable BitLocker until recovery information is stored in AD DS for removable data drives** check box if users should be prevented from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. - -> [!NOTE] -> If the **Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives** check box is selected, a recovery password is automatically generated. - -### Configure the pre-boot recovery message and URL - -This policy setting is used to configure the entire recovery message and to replace the existing URL that is displayed on the pre-boot recovery screen when the operating system drive is locked. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured the BitLocker recovery screen to display a customized message and URL.| -|**Introduced**|Windows| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > *Configure pre-boot recovery message and URL*| -|**Conflicts**|None| -|**When enabled**|The customized message and URL are displayed on the pre-boot recovery screen. If a custom recovery message and URL has been previously enabled and the message and URL need to be reverted back to the default message and URL, the policy setting must be enabled and the **Use default recovery message and URL** option selected.| -|**When disabled or not configured**|If the setting hasn't been previously enabled, then the default pre-boot recovery screen is displayed for BitLocker recovery. If the setting previously was enabled and is later disabled, then the last message in Boot Configuration Data (BCD) is displayed whether it was the default recovery message or the custom message.| - -#### Reference: Configure the pre-boot recovery message and URL - -Enabling the **Configure the pre-boot recovery message and URL** policy setting allows customization of the default recovery screen message and URL to assist customers in recovering their key. - -Once the setting is enabled, three options are available: - -- If the **Use default recovery message and URL** option is selected, the default BitLocker recovery message and URL will be displayed on the pre-boot recovery screen. -- If the **Use custom recovery message** option is selected, enter the custom message in the **Custom recovery message option** text box. The message that is entered in the **Custom recovery message option** text box is displayed on the pre-boot recovery screen. If a recovery URL is available, include it in the message. -- If the **Use custom recovery URL** option is selected, enter the custom message URL in the **Custom recovery URL option** text box. The URL that is entered in the **Custom recovery URL option** text box replaces the default URL in the default recovery message, which is displayed on the pre-boot recovery screen. - -> [!IMPORTANT] -> Not all characters and languages are supported in the pre-boot environment. It is strongly recommended to verify the correct appearance of the characters that are used for the custom message and URL on the pre-boot recovery screen. - -> [!IMPORTANT] -> Because BCDEdit commands can be altered manually before Group Policy settings have been set, the policy setting can't be returned to the default setting by selecting the **Not Configured** option after this policy setting has been configured. To return to the default pre-boot recovery screen leave the policy setting enabled and select the **Use default message** options from the **Choose an option for the pre-boot recovery message** drop-down list box. - -### Allow Secure Boot for integrity validation - -This policy controls how BitLocker-enabled system volumes are handled with the Secure Boot feature. Enabling this feature forces Secure Boot validation during the boot process and verifies Boot Configuration Data (BCD) settings according to the Secure Boot policy. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether Secure Boot will be allowed as the platform integrity provider for BitLocker operating system drives.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|All drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|If **Allow Secure Boot for integrity validation** is enabled, make sure the Configure TPM platform validation profile for native UEFI firmware configurations Group Policy setting isn't enabled, or include PCR 7 to allow BitLocker to use Secure Boot for platform or BCD integrity validation.

For more information about PCR 7, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article.| -|**When enabled or not configured**|BitLocker uses Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation.| -|**When disabled**|BitLocker uses legacy platform integrity validation, even on systems that are capable of Secure Boot-based integrity validation.| - -#### Reference: Allow Secure Boot for integrity validation - -Secure boot ensures that the computer's pre-boot environment loads only firmware that is digitally signed by authorized software publishers. Secure boot also started providing more flexibility for managing pre-boot configurations than BitLocker integrity checks prior to Windows Server 2012 and Windows 8. - -When this policy is enabled and the hardware is capable of using secure boot for BitLocker scenarios, the **Use enhanced Boot Configuration Data validation profile** group policy setting is ignored, and secure boot verifies BCD settings according to the secure boot policy setting, which is configured separately from BitLocker. - -> [!WARNING] -> Disabling this policy might result in BitLocker recovery when manufacturer-specific firmware is updated. If this policy is disabled, suspend BitLocker prior to applying firmware updates. - -### Provide the unique identifiers for your organization - -This policy setting is used to establish an identifier that is applied to all drives that are encrypted in an organization. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, unique organizational identifiers can be associated to a new drive that is enabled with BitLocker.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|All drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|Identification fields are required to manage certificate-based data recovery agents on BitLocker-protected drives. BitLocker manages and updates certificate-based data recovery agents only when the identification field is present on a drive and it's identical to the value that is configured on the computer.| -|**When enabled**|The identification field on the BitLocker-protected drive and any allowed identification field that is used by an organization can be configured.| -|**When disabled or not configured**|The identification field isn't required.| - -#### Reference: Provide the unique identifiers for your organization - -These identifiers are stored as the identification field and the allowed identification field. The identification field allows association of a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives, and it can be updated on existing BitLocker-protected drives by using the [Manage-bde](/windows-server/administration/windows-commands/manage-bde) command-line tool. - -An identification field is required to manage certificate-based data recovery agents on BitLocker-protected drives and for potential updates to the BitLocker To Go Reader. BitLocker manages and updates data recovery agents only when the identification field on the drive matches the value that is configured in the identification field. In a similar manner, BitLocker updates the BitLocker To Go Reader only when the identification field's value on the drive matches the value that is configured for the identification field. - -For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -The allowed identification field is used in combination with the **Deny write access to removable drives not protected by BitLocker** policy setting to help control the use of removable drives in an organization. It's a comma-separated list of identification fields from an internal organization or external organizations. - -The identification fields on existing drives can be configured by using the [Manage-bde](/windows-server/administration/windows-commands/manage-bde) command-line tool. - -When a BitLocker-protected drive is mounted on another BitLocker-enabled computer, the identification field and the allowed identification field are used to determine whether the drive is from an external organization. - -Multiple values separated by commas can be entered in the identification and allowed identification fields. The identification field can be any value upto 260 characters. - -### Prevent memory overwrite on restart - -This policy setting is used to control whether the computer's memory will be overwritten the next time the computer is restarted. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled computer restart performance at the risk of exposing BitLocker secrets.| -|**Introduced**|Windows Vista| -|**Drive type**|All drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|The computer won't overwrite memory when it restarts. Preventing memory overwrite may improve restart performance, but it increases the risk of exposing BitLocker secrets.| -|**When disabled or not configured**|BitLocker secrets are removed from memory when the computer restarts.| - -#### Reference: Prevent memory overwrite on restart - -This policy setting is applied when BitLocker is turned on. BitLocker secrets include key material that is used to encrypt data. This policy setting applies only when BitLocker protection is enabled. - -### Configure TPM platform validation profile for BIOS-based firmware configurations - -This policy setting determines what values the TPM measures when it validates early boot components before it unlocks an operating system drive on a computer with a BIOS configuration or with UEFI firmware that has the Compatibility Support Module (CSM) enabled. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured how the computer's TPM security hardware secures the BitLocker encryption key.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|The boot components that the TPM validates before unlocking access to the BitLocker-encrypted operating system drive can be configured. If any of these components change while BitLocker protection is in effect, then the TPM doesn't release the encryption key to unlock the drive. Instead, the computer displays the BitLocker Recovery console and requires that the recovery password or the recovery key is provided to unlock the drive.| -|**When disabled or not configured**|The TPM uses the default platform validation profile or the platform validation profile that is specified by the setup script.| - -#### Reference: Configure TPM platform validation profile for BIOS-based firmware configurations - -This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker has already been turned on with TPM protection. - -> [!IMPORTANT] -> This Group Policy setting only applies to computers with BIOS configurations or to computers with UEFI firmware with the CSM enabled. Computers that use a native UEFI firmware configuration store different values in the Platform Configuration Registers (PCRs). Use the **Configure TPM platform validation profile for native UEFI firmware configurations** Group Policy setting to configure the TPM PCR profile for computers that use native UEFI firmware. - -A platform validation profile consists of a set of PCR indices that range from 0 to 23. The default platform validation profile secures the encryption key against changes to the following PCRs: - -- Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0) -- Option ROM Code (PCR 2) -- Master Boot Record (MBR) Code (PCR 4) -- NTFS Boot Sector (PCR 8) -- NTFS Boot Block (PCR 9) -- Boot Manager (PCR 10) -- BitLocker Access Control (PCR 11) - -> [!NOTE] -> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. - -The following list identifies all of the available PCRs: - -- PCR 0: Core root-of-trust for measurement, BIOS, and platform extensions -- PCR 1: Platform and motherboard configuration and data. -- PCR 2: Option ROM code -- PCR 3: Option ROM data and configuration -- PCR 4: Master Boot Record (MBR) code -- PCR 5: Master Boot Record (MBR) partition table -- PCR 6: State transition and wake events -- PCR 7: Computer manufacturer-specific -- PCR 8: NTFS boot sector -- PCR 9: NTFS boot block -- PCR 10: Boot manager -- PCR 11: BitLocker access control -- PCR 12-23: Reserved for future use - -### Configure TPM platform validation profile (Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2) - -This policy setting determines what values the TPM measures when it validates early boot components before unlocking a drive on a computer running Windows Vista, Windows Server 2008, or Windows 7. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured how the computer's TPM security hardware secures the BitLocker encryption key.| -|**Introduced**|Windows Server 2008 and Windows Vista| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|The boot components that the TPM validates before unlocking access to the BitLocker-encrypted operating system drive can be configured. If any of these components change while BitLocker protection is in effect, the TPM doesn't release the encryption key to unlock the drive. Instead, the computer displays the BitLocker Recovery console and requires that the recovery password or the recovery key is provided to unlock the drive.| -|**When disabled or not configured**|The TPM uses the default platform validation profile or the platform validation profile that is specified by the setup script.| - -#### Reference: Configure TPM platform validation profile (Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2) - -This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker is already turned on with TPM protection. - -A platform validation profile consists of a set of PCR indices that range from 0 to 23. The default platform validation profile secures the encryption key against changes to the following PCRs: - -- Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0) -- Option ROM Code (PCR 2) -- Master Boot Record (MBR) Code (PCR 4) -- NTFS Boot Sector (PCR 8) -- NTFS Boot Block (PCR 9) -- Boot Manager (PCR 10) -- BitLocker Access Control (PCR 11) - -> [!NOTE] -> The default TPM validation profile PCR settings for computers that use an Extensible Firmware Interface (EFI) are the PCRs 0, 2, 4, and 11 only. - -The following list identifies all of the available PCRs: - -- PCR 0: Core root-of-trust for measurement, EFI boot and run-time services, EFI drivers embedded in system ROM, ACPI static tables, embedded SMM code, and BIOS code -- PCR 1: Platform and motherboard configuration and data. Hand-off tables and EFI variables that affect system configuration -- PCR 2: Option ROM code -- PCR 3: Option ROM data and configuration -- PCR 4: Master Boot Record (MBR) code or code from other boot devices -- PCR 5: Master Boot Record (MBR) partition table. Various EFI variables and the GPT table -- PCR 6: State transition and wake events -- PCR 7: Computer manufacturer-specific -- PCR 8: NTFS boot sector -- PCR 9: NTFS boot block -- PCR 10: Boot manager -- PCR 11: BitLocker access control -- PCR 12 - 23: Reserved for future use - -> [!WARNING] -> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. - -### Configure TPM platform validation profile for native UEFI firmware configurations - -This policy setting determines what values the TPM measures when it validates early boot components before unlocking an operating system drive on a computer with native UEFI firmware configurations. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|Setting this policy with PCR 7 omitted overrides the **Allow Secure Boot for integrity validation** Group Policy setting, and it prevents BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation.

If an environment uses TPM and Secure Boot for platform integrity checks, this policy is configured.

For more information about PCR 7, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article.| -|**When enabled**|Before BitLocker is turned on, the boot components that the TPM validates before it unlocks access to the BitLocker-encrypted operating system drive can be configured. If any of these components change while BitLocker protection is in effect, the TPM doesn't release the encryption key to unlock the drive. Instead, the computer displays the BitLocker Recovery console and requires that the recovery password or the recovery key is provided to unlock the drive.| -|**When disabled or not configured**|BitLocker uses the default platform validation profile or the platform validation profile that is specified by the setup script.| - -#### Reference: Configure TPM platform validation profile for native UEFI firmware configurations - -This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker is already turned on with TPM protection. - -> [!IMPORTANT] -> This group policy setting only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Support Module (CSM) enabled store different values in the Platform Configuration Registers (PCRs). Use the **Configure TPM platform validation profile for BIOS-based firmware configurations** Group Policy setting to configure the TPM PCR profile for computers with BIOS configurations or for computers with UEFI firmware with a CSM enabled. - -A platform validation profile consists of a set of PCR indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the core system firmware executable code (PCR 0), extended or pluggable executable code (PCR 2), boot manager (PCR 4), and the BitLocker access control (PCR 11). - -The following list identifies all of the available PCRs: - -- PCR 0: Core System Firmware executable code -- PCR 1: Core System Firmware data -- PCR 2: Extended or pluggable executable code -- PCR 3: Extended or pluggable firmware data -- PCR 4: Boot Manager -- PCR 5: GPT/Partition Table -- PCR 6: Resume from S4 and S5 Power State Events -- PCR 7: Secure Boot State - - For more information about this PCR, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article. - -- PCR 8: Initialized to 0 with no Extends (reserved for future use) -- PCR 9: Initialized to 0 with no Extends (reserved for future use) -- PCR 10: Initialized to 0 with no Extends (reserved for future use) -- PCR 11: BitLocker access control -- PCR 12: Data events and highly volatile events -- PCR 13: Boot Module Details -- PCR 14: Boot Authorities -- PCR 15 - 23: Reserved for future use - -> [!WARNING] -> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. - -### Reset platform validation data after BitLocker recovery - -This policy setting determines if platform validation data should refresh when Windows is started following a BitLocker recovery. A platform validation data profile consists of the values in a set of Platform Configuration Register (PCR) indices that range from 0 to 23. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled whether platform validation data is refreshed when Windows is started following a BitLocker recovery.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|Platform validation data is refreshed when Windows is started following a BitLocker recovery.| -|**When disabled**|Platform validation data isn't refreshed when Windows is started following a BitLocker recovery.| -|**When not configured**|Platform validation data is refreshed when Windows is started following a BitLocker recovery.| - -#### Reference: Reset platform validation data after BitLocker recovery - -For more information about the recovery process, see the [BitLocker recovery guide](bitlocker-recovery-guide-plan.md). - -### Use enhanced Boot Configuration Data validation profile - -This policy setting determines specific Boot Configuration Data (BCD) settings to verify during platform validation. A platform validation uses the data in the platform validation profile, which consists of a set of Platform Configuration Register (PCR) indices that range from 0 to 23. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, Boot Configuration Data (BCD) settings to verify during platform validation can be specified.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|When BitLocker is using Secure Boot for platform and Boot Configuration Data integrity validation, the **Use enhanced Boot Configuration Data validation profile** Group Policy setting is ignored (as defined by the **Allow Secure Boot for integrity validation** Group Policy setting).| -|**When enabled**|Additional BCD settings can be added and specified BCD settings can be excluded. Also a customized BCD validation profile can be created by combining inclusion and exclusion lists. The customized BCD validation profile gives the ability to verify BCD settings.| -|**When disabled**|The computer reverts to a BCD profile validation similar to the default BCD profile that is used by Windows 7.| -|**When not configured**|The computer verifies the default BCD settings in Windows.| - -#### Reference: Use enhanced Boot Configuration Data validation profile - -> [!NOTE] -> The setting that controls boot debugging (0x16000010) is always validated, and it has no effect if it's included in the inclusion or the exclusion list. - -### Allow access to BitLocker-protected fixed data drives from earlier versions of Windows - -This policy setting is used to control whether access to drives is allowed by using the BitLocker To Go Reader, and whether BitLocker To Go Reader can be installed on the drive. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether fixed data drives that are formatted with the FAT file system can be unlocked and viewed on computers running Windows Vista, Windows XP with Service Pack 3 (SP3), or Windows XP with Service Pack 2 (SP2).| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|None| -|**When enabled and When not configured**|Fixed data drives that are formatted with the FAT file system can be unlocked on computers running Windows Server 2008, Windows Vista, Windows XP with SP3, or Windows XP with SP2, and their content can be viewed. These operating systems have Read-only access to BitLocker-protected drives.| -|**When disabled**|Fixed data drives that are formatted with the FAT file system and are BitLocker-protected can't be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2. BitLocker To Go Reader (bitlockertogo.exe) isn't installed.| - -#### Reference: Allow access to BitLocker-protected fixed data drives from earlier versions of Windows - -> [!NOTE] -> This policy setting doesn't apply to drives that are formatted with the NTFS file system. - -When this policy setting is enabled, select the **Do not install BitLocker To Go Reader on FAT formatted fixed drives** check box to help prevent users from running BitLocker To Go Reader from their fixed drives. If BitLocker To Go Reader (bitlockertogo.exe) is present on a drive that doesn't have an identification field specified, or if the drive has the same identification field as specified in the **Provide unique identifiers for your organization** policy setting, the user is prompted to update BitLocker, and BitLocker To Go Reader is deleted from the drive. In this situation, for the fixed drive to be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2, BitLocker To Go Reader must be installed on the computer. If this check box isn't selected, then BitLocker To Go Reader will be installed on the fixed drive to enable users to unlock the drive on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2. - -### Allow access to BitLocker-protected removable data drives from earlier versions of Windows - -This policy setting controls access to removable data drives that are using the BitLocker To Go Reader and whether the BitLocker To Go Reader can be installed on the drive. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether removable data drives that are formatted with the FAT file system can be unlocked and viewed on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|None| -|**When enabled and When not configured**|Removable data drives that are formatted with the FAT file system can be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2, and their content can be viewed. These operating systems have Read-only access to BitLocker-protected drives.| -|**When disabled**|Removable data drives that are formatted with the FAT file system that are BitLocker-protected can't be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2. BitLocker To Go Reader (bitlockertogo.exe) isn't installed.| - -#### Reference: Allow access to BitLocker-protected removable data drives from earlier versions of Windows - -> [!NOTE] -> This policy setting doesn't apply to drives that are formatted with the NTFS file system. - -When this policy setting is enabled, select the **Do not install BitLocker To Go Reader on FAT formatted removable drives** check box to help prevent users from running BitLocker To Go Reader from their removable drives. If BitLocker To Go Reader (bitlockertogo.exe) is present on a drive that doesn't have an identification field specified, or if the drive has the same identification field as specified in the **Provide unique identifiers for your organization** policy setting, the user will be prompted to update BitLocker, and BitLocker To Go Reader is deleted from the drive. In this situation, for the removable drive to be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2, BitLocker To Go Reader must be installed on the computer. If this check box isn't selected, then BitLocker To Go Reader will be installed on the removable drive to enable users to unlock the drive on computers running Windows Vista or Windows XP that don't have BitLocker To Go Reader installed. - -## FIPS setting - -The Federal Information Processing Standard (FIPS) setting for FIPS compliance can be configured. As an effect of FIPS compliance, users can't create or save a BitLocker password for recovery or as a key protector. The use of a recovery key is permitted. - -| Item | Info | -|:---|:---| -|**Policy description**|Notes| -|**Introduced**|Windows Server 2003 with SP1| -|**Drive type**|System-wide| -|**Policy path**|*Local Policies* > *Security Options* > *System cryptography*: **Use FIPS compliant algorithms for encryption, hashing, and signing**| -|**Conflicts**|Some applications, such as Terminal Services, don't support FIPS-140 on all operating systems.| -|**When enabled**|Users will be unable to save a recovery password to any location. This policy setting includes AD DS and network folders. Also, WMI or the BitLocker Drive Encryption Setup wizard can't be used to create a recovery password.| -|**When disabled or not configured**|No BitLocker encryption key is generated| - -### Reference: FIPS setting - -This policy must be enabled before any encryption key is generated for BitLocker. When this policy is enabled, BitLocker prevents creating or using recovery passwords, so recovery keys should be used instead. - -The optional recovery key can be saved to a USB drive. Because recovery passwords can't be saved to AD DS when FIPS is enabled, an error is caused if AD DS backup is required by Group Policy. - -The FIPS setting can be edited by using the Security Policy Editor (`Secpol.msc`) or by editing the Windows registry. Only administrators can perform these procedures. - -For more information about setting this policy, see [System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing](../../../threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md). - -## Power management group policy settings: Sleep and Hibernate - -PCs default power settings for a computer will cause the computer to enter Sleep mode frequently to conserve power when idle and to help extend the system's battery life. When a computer transitions to Sleep, open programs and documents are persisted in memory. When a computer resumes from Sleep, users aren't required to reauthenticate with a PIN or USB startup key to access encrypted data. Not needing to reauthenticate when resuming from Sleep might lead to conditions where data security is compromised. - -However, when a computer hibernates the drive is locked, and when it resumes from hibernation the drive is unlocked, which means that users will need to provide a PIN or a startup key if using multifactor authentication with BitLocker. Therefore, organizations that use BitLocker may want to use Hibernate instead of Sleep for improved security. This setting doesn't have an impact on TPM-only mode, because it provides a transparent user experience at startup and when resuming from the Hibernate states. - -To disable all available sleep states, disable the Group Policy settings located in **Computer Configuration** > **Administrative Templates** > **System** > **Power Management** : - -- **Allow Standby States (S1-S3) When Sleeping (Plugged In)** -- **Allow Standby States (S1-S3) When Sleeping (Battery)** - -## About the Platform Configuration Register (PCR) - -A platform validation profile consists of a set of PCR indices that range from 0 to 23. The scope of the values can be specific to the version of the operating system. - -Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. - -### About PCR 7 - -PCR 7 measures the state of Secure Boot. With PCR 7, BitLocker can use Secure Boot for integrity validation. Secure Boot ensures that the computer's preboot environment loads only firmware that is digitally signed by authorized software publishers. PCR 7 measurements indicate whether Secure Boot is on and which keys are trusted on the platform. If Secure Boot is on and the firmware measures PCR 7 correctly per the UEFI specification, BitLocker can bind to this information rather than to PCRs 0, 2, and 4, which have the measurements of the exact firmware and Bootmgr images loaded. This process reduces the likelihood of BitLocker starting in recovery mode as a result of firmware and image updates, and it provides with greater flexibility to manage the preboot configuration. - -PCR 7 measurements must follow the guidance that is described in [Appendix A Trusted Execution Environment EFI Protocol](/windows-hardware/test/hlk/testref/trusted-execution-environment-efi-protocol). - -PCR 7 measurements are a mandatory logo requirement for systems that support Modern Standby (also known as Always On, Always Connected PCs), such as the Microsoft Surface RT. On such systems, if the TPM with PCR 7 measurement and secure boot are correctly configured, BitLocker binds to PCR 7 and PCR 11 by default. - -## Related articles - -- [Trusted Platform Module](/windows/device-security/tpm/trusted-platform-module-overview) -- [TPM Group Policy settings](/windows/device-security/tpm/trusted-platform-module-services-group-policy-settings) -- [BitLocker frequently asked questions (FAQ)](faq.yml) -- [BitLocker overview](index.md) -- [Prepare your organization for BitLocker: Planning and policies](prepare-your-organization-for-bitlocker-planning-and-policies.md) From 9fa7c6ca9e948ea785eb866177999edc3a55b086 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sat, 23 Sep 2023 14:34:14 -0400 Subject: [PATCH 021/505] updates --- .../data-protection/bitlocker/configure.md | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 79cf3d38d4..2ee38a3353 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -88,7 +88,7 @@ If you disable or do not configure this policy setting, BitLocker uses the defau | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | ### Disable new DMA devices when this computer is locked -This policy setting allows you to block direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. +This policy setting allows you to block direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. | | Path | |--|--| @@ -123,26 +123,26 @@ This policy setting allows you to associate an object identifier from a smart ca |Policy name| CSP | GPO | |-|-|-| -|[Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN](#allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin)||| -|[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup)||| -|[Allow network unlock at startup](#allow-network-unlock-at-startup)||| -|[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation)||| +|[Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN](#allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin)|✅|✅| +|[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup)|✅|✅| +|[Allow network unlock at startup](#allow-network-unlock-at-startup)|❌|✅| +|[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation)|❌|✅| |[Allow Warning For Other Disk Encryption](#allow-warning-for-other-disk-encryption)|✅|❌| -|[Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered)||| -|[Configure minimum PIN length for startup](#configure-minimum-pin-length-for-startup)||| -|[Configure pre-boot recovery message and URL](#configure-pre-boot-recovery-message-and-url)||| +|[Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered)|✅|✅| +|[Configure minimum PIN length for startup](#configure-minimum-pin-length-for-startup)|✅|✅| +|[Configure pre-boot recovery message and URL](#configure-pre-boot-recovery-message-and-url)|✅|✅| |[Configure Recovery Password Rotation](#configure-recovery-password-rotation)|✅|❌| -|[Configure TPM platform validation profile for BIOS-based firmware configurations](#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations)||| -|[Configure TPM platform validation profile for native UEFI firmware configurations](#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations)||| -|[Configure use of hardware-based encryption for operating system drives](#configure-use-of-hardware-based-encryption-for-operating-system-drives)||| -|[Configure use of passwords for operating system drives](#configure-use-of-passwords-for-operating-system-drives)||| -|[Disallow standard users from changing the PIN or password](#disallow-standard-users-from-changing-the-pin-or-password)||| -|[Enable use of BitLocker authentication requiring preboot keyboard input on slates](#enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates)||| -|[Enforce drive encryption type on operating system drives](#enforce-drive-encryption-type-on-operating-system-drives)||| -|[Require additional authentication at startup](#require-additional-authentication-at-startup)||| +|[Configure TPM platform validation profile for BIOS-based firmware configurations](#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations)|❌|✅| +|[Configure TPM platform validation profile for native UEFI firmware configurations](#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations)|❌|✅| +|[Configure use of hardware-based encryption for operating system drives](#configure-use-of-hardware-based-encryption-for-operating-system-drives)|❌|✅| +|[Configure use of passwords for operating system drives](#configure-use-of-passwords-for-operating-system-drives)|❌|✅| +|[Disallow standard users from changing the PIN or password](#disallow-standard-users-from-changing-the-pin-or-password)|✅|✅| +|[Enable use of BitLocker authentication requiring preboot keyboard input on slates](#enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates)|✅|✅| +|[Enforce drive encryption type on operating system drives](#enforce-drive-encryption-type-on-operating-system-drives)|✅|✅| +|[Require additional authentication at startup](#require-additional-authentication-at-startup)|✅|✅| |[Require Device Encryption](#require-device-encryption)|✅|❌| -|[Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery)||| -|[Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile)||| +|[Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery)|❌|✅| +|[Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile)|❌|✅| ### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN @@ -288,12 +288,12 @@ This policy setting allows you to associate an object identifier from a smart ca |Policy name| CSP | GPO | |-|-|-| -|[Choose how BitLocker-protected fixed drives can be recovered](#choose-how-bitlocker-protected-fixed-drives-can-be-recovered)||| -|[Configure use of hardware-based encryption for fixed data drives](#configure-use-of-hardware-based-encryption-for-fixed-data-drives)||| -|[Configure use of passwords for fixed data drives](#configure-use-of-passwords-for-fixed-data-drives)||| -|[Configure use of smart cards on fixed data drives](#configure-use-of-smart-cards-on-fixed-data-drives)||| -|[Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker)||| -|[Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives)||| +|[Choose how BitLocker-protected fixed drives can be recovered](#choose-how-bitlocker-protected-fixed-drives-can-be-recovered)|✅|✅| +|[Configure use of hardware-based encryption for fixed data drives](#configure-use-of-hardware-based-encryption-for-fixed-data-drives)|❌|✅| +|[Configure use of passwords for fixed data drives](#configure-use-of-passwords-for-fixed-data-drives)❌|✅| +|[Configure use of smart cards on fixed data drives](#configure-use-of-smart-cards-on-fixed-data-drives)|❌|✅| +|[Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker)|✅|✅| +|[Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives)|✅|✅| ### Choose how BitLocker-protected fixed drives can be recovered @@ -342,13 +342,13 @@ This policy setting allows you to associate an object identifier from a smart ca |Policy name| CSP | GPO | |-|-|-| -|[Choose how BitLocker-protected removable drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered)||| -|[Configure use of hardware-based encryption for removable data drives](#configure-use-of-hardware-based-encryption-for-removable-data-drives)||| -|[Configure use of passwords for removable data drives](#configure-use-of-passwords-for-removable-data-drives)||| -|[Configure use of smart cards on removable data drives](#configure-use-of-smart-cards-on-removable-data-drives)||| -|[Control use of BitLocker on removable drives](#control-use-of-bitlocker-on-removable-drives)||| -|[Deny write access to removable drives not protected by BitLocker](#deny-write-access-to-removable-drives-not-protected-by-bitlocker)||| -|[Enforce drive encryption type on removable data drives](#enforce-drive-encryption-type-on-removable-data-drives)||| +|[Choose how BitLocker-protected removable drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered)|❌|✅| +|[Configure use of hardware-based encryption for removable data drives](#configure-use-of-hardware-based-encryption-for-removable-data-drives)|❌|✅| +|[Configure use of passwords for removable data drives](#configure-use-of-passwords-for-removable-data-drives)|❌|✅| +|[Configure use of smart cards on removable data drives](#configure-use-of-smart-cards-on-removable-data-drives)|❌|✅| +|[Control use of BitLocker on removable drives](#control-use-of-bitlocker-on-removable-drives)|✅|✅| +|[Deny write access to removable drives not protected by BitLocker](#deny-write-access-to-removable-drives-not-protected-by-bitlocker)|✅|✅| +|[Enforce drive encryption type on removable data drives](#enforce-drive-encryption-type-on-removable-data-drives)|✅|✅| ### Choose how BitLocker-protected removable drives can be recovered From 9975101fcc8efb8d2b1d266f285364629d8edcad Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sat, 23 Sep 2023 14:39:16 -0400 Subject: [PATCH 022/505] updates --- .../data-protection/bitlocker/configure.md | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 2ee38a3353..c7a69513bd 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -290,7 +290,7 @@ This policy setting allows you to associate an object identifier from a smart ca |-|-|-| |[Choose how BitLocker-protected fixed drives can be recovered](#choose-how-bitlocker-protected-fixed-drives-can-be-recovered)|✅|✅| |[Configure use of hardware-based encryption for fixed data drives](#configure-use-of-hardware-based-encryption-for-fixed-data-drives)|❌|✅| -|[Configure use of passwords for fixed data drives](#configure-use-of-passwords-for-fixed-data-drives)❌|✅| +|[Configure use of passwords for fixed data drives](#configure-use-of-passwords-for-fixed-data-drives)|❌|✅| |[Configure use of smart cards on fixed data drives](#configure-use-of-smart-cards-on-fixed-data-drives)|❌|✅| |[Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker)|✅|✅| |[Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives)|✅|✅| @@ -352,6 +352,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Choose how BitLocker-protected removable drives can be recovered +This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS + | | Path | |--|--| | **CSP** | Not available | @@ -359,6 +361,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure use of hardware-based encryption for removable data drives +This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + | | Path | |--|--| | **CSP** | Not available | @@ -366,6 +370,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure use of passwords for removable data drives +This policy setting specifies whether a password is required to unlock BitLocker-protected removable data drives. If you choose to allow use of a password, you can require a password to be used, enforce complexity requirements, and configure a minimum length. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements that you define. To require the use of a password, select "Require password for removable data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. + | | Path | |--|--| | **CSP** | Not available | @@ -373,6 +379,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure use of smart cards on removable data drives +This policy setting allows you to specify whether smart cards can be used to authenticate user access to BitLocker-protected removable data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on removable data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected removable data drives. If you do not configure this policy setting, smart cards are available to authenticate user access to a BitLocker-protected removable data drive. + | | Path | |--|--| | **CSP** | Not available | @@ -380,23 +388,30 @@ This policy setting allows you to associate an object identifier from a smart ca ### Control use of BitLocker on removable drives +This policy setting controls the use of BitLocker on removable data drives. This policy setting is applied when you turn on BitLocker. When this policy setting is enabled you can select property settings that control how users can configure BitLocker. Choose "Allow users to apply BitLocker protection on removable data drives" to permit the user to run the BitLocker setup wizard on a removable data drive. Choose "Allow users to suspend and decrypt BitLocker on removable data drives" to permit the user to remove BitLocker Drive encryption from the drive or suspend the encryption while maintenance is performed. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information on suspending BitLocker protection. If you do not configure this policy setting, users can use BitLocker on removable disk drives. If you disable this policy setting, users cannot use BitLocker on removable disk drives. + | | Path | |--|--| -| **CSP** | Not available | +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesConfigureBDE](/windows/client-management/mdm/bitlocker-csp#removabledrivesconfigurebde) | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | ### Deny write access to removable drives not protected by BitLocker +This policy setting configures whether BitLocker protection is required for a computer to be able to write data to a removable data drive. If you enable this policy setting, all removable data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If the "Deny write access to devices configured in another organization" option is selected, only drives with identification fields matching the computer's identification fields will be given write access. When a removable data drive is accessed it will be checked for valid identification field and allowed identification fields. These fields are defined by the "Provide the unique identifiers for your organization" policy setting. If you disable or do not configure this policy setting, all removable data drives on the computer will be mounted with read and write access. Note: This policy setting can be overridden by the policy settings under User Configuration\Administrative Templates\System\Removable Storage Access. If the "Removable Disks: Deny write access" policy setting is enabled this policy setting will be ignored. + | | Path | |--|--| -| **CSP** | Not available | +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesrequireencryption) | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | + ### Enforce drive encryption type on removable data drives +This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + | | Path | |--|--| -| **CSP** | Not available | +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#removabledrivesencryptiontype) | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | --- From 84b5157650a45cd1909293810f1d2504333fe046 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sat, 23 Sep 2023 16:54:18 -0400 Subject: [PATCH 023/505] updates --- .../data-protection/bitlocker/configure.md | 51 +++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index c7a69513bd..29ffbe5056 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -146,6 +146,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN +This policy setting allows users on devices that are compliant with InstantGo or Microsoft Hardware Security Test Interface (HSTI) to not have a PIN for pre-boot authentication. This overrides the "Require startup PIN with TPM" and "Require startup key and PIN with TPM" options of the "Require additional authentication at startup" policy on compliant hardware. If you enable this policy setting, users on InstantGo and HSTI compliant devices will have the choice to turn on BitLocker without pre-boot authentication. If this policy is not enabled, the options of "Require additional authentication at startup" policy apply. + | | Path | |--|--| | **CSP** | Not available | @@ -153,6 +155,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Allow enhanced PINs for startup +This policy setting allows you to configure whether or not enhanced startup PINs are used with BitLocker. Enhanced startup PINs permit the use of characters including uppercase and lowercase letters, symbols, numbers, and spaces. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, all new BitLocker startup PINs set will be enhanced PINs. Note: Not all computers may support enhanced PINs in the pre-boot environment. It is strongly recommended that users perform a system check during BitLocker setup. If you disable or do not configure this policy setting, enhanced PINs will not be used. + | | Path | |--|--| | **CSP** | Not available | @@ -160,6 +164,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Allow network unlock at startup +This policy setting controls whether a BitLocker-protected computer that is connected to a trusted wired Local Area Network (LAN) and joined to a domain can create and use Network Key Protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started. If you enable this policy, clients configured with a BitLocker Network Unlock certificate will be able to create and use Network Key Protectors. To use a Network Key Protector to unlock the computer, both the computer and the BitLocker Drive Encryption Network Unlock server must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create Network Key Protectors, and protects the information exchanged with the server to unlock the computer. You can use the group policy setting "Computer Configuration\Windows Settings\Security Settings\Public Key Policies\BitLocker Drive Encryption Network Unlock Certificate" on the domain controller to distribute this certificate to computers in your organization. This unlock method uses the TPM on the computer, so computers that do not have a TPM cannot create Network Key Protectors to automatically unlock with Network Unlock. If you disable or do not configure this policy setting, BitLocker clients will not be able to create and use Network Key Protectors. Note: For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or the server at startup. + | | Path | |--|--| | **CSP** | Not available | @@ -167,6 +173,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Allow Secure Boot for integrity validation +This policy setting allows you to configure whether Secure Boot will be allowed as the platform integrity provider for BitLocker operating system drives. Secure Boot ensures that the PC's pre-boot environment only loads firmware that is digitally signed by authorized software publishers. Secure Boot also provides more flexibility for managing pre-boot configuration than legacy BitLocker integrity checks. If you enable or do not configure this policy setting, BitLocker will use Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation. If you disable this policy setting, BitLocker will use legacy platform integrity validation, even on systems capable of Secure Boot-based integrity validation. When this policy is enabled and the hardware is capable of using Secure Boot for BitLocker scenarios, the "Use enhanced Boot Configuration Data validation profile" group policy setting is ignored and Secure Boot verifies BCD settings according to the Secure Boot policy setting, which is configured separately from BitLocker. Note: If the group policy setting "Configure TPM platform validation profile for native UEFI firmware configurations" is enabled and has PCR 7 omitted, Bitlocker will be prevented from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Warning: Disabling this policy may result in BitLocker recovery when firmware is updated. If you disable this policy, suspend BitLocker prior to applying firmware updates. + | | Path | |--|--| | **CSP** | Not available | @@ -176,11 +184,13 @@ This policy setting allows you to associate an object identifier from a smart ca | | Path | |--|--| -| **CSP** | ``./Device/Vendor/MSFT/BitLocker/`[RequireDeviceEncryption](/windows/client-management/mdm/bitlocker-csp#requiredeviceencryption) | +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RequireDeviceEncryption](/windows/client-management/mdm/bitlocker-csp#requiredeviceencryption) | | **GPO** | Not available | ### Choose how BitLocker-protected operating system drives can be recovered +This policy setting allows you to control how BitLocker-protected operating system drives are recovered in the absence of the required startup key information. This policy setting is applied when you turn on BitLocker. The "Allow certificate-based data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected operating system drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services", choose which BitLocker recovery information to store in AD DS for operating system drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected operating system drives. If this policy setting is disabled or not configured, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS. + | | Path | |--|--| | **CSP** | Not available | @@ -188,6 +198,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure minimum PIN length for startup +This policy setting allows you to configure a minimum length for a Trusted Platform Module (TPM) startup PIN. This policy setting is applied when you turn on BitLocker. The startup PIN must have a minimum length of 4 digits and can have a maximum length of 20 digits. If you enable this policy setting, you can require a minimum number of digits to be used when setting the startup PIN. If you disable or do not configure this policy setting, users can configure a startup PIN of any length between 6 and 20 digits. NOTE: If minimum PIN length is set below 6 digits, Windows will attempt to update the TPM 2.0 lockout period to be greater than the default when a PIN is changed. If successful, Windows will only reset the TPM lockout period back to default if the TPM is reset. + | | Path | |--|--| | **CSP** | Not available | @@ -195,6 +207,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure pre-boot recovery message and URL +This policy setting lets you configure the entire recovery message or replace the existing URL that are displayed on the pre-boot key recovery screen when the OS drive is locked. If you select the "Use default recovery message and URL" option, the default BitLocker recovery message and URL will be displayed in the pre-boot key recovery screen. If you have previously configured a custom recovery message or URL and want to revert to the default message, you must keep the policy enabled and select the "Use default recovery message and URL" option. If you select the "Use custom recovery message" option, the message you type in the "Custom recovery message option" text box will be displayed in the pre-boot key recovery screen. If a recovery URL is available, include it in the message. If you select the "Use custom recovery URL" option, the URL you type in the "Custom recovery URL option" text box will replace the default URL in the default recovery message, which will be displayed in the pre-boot key recovery screen. Note: Not all characters and languages are supported in pre-boot. It is strongly recommended that you test that the characters you use for the custom message or URL appear correctly on the pre-boot recovery screen. + | | Path | |--|--| | **CSP** | Not available | @@ -204,11 +218,13 @@ This policy setting allows you to associate an object identifier from a smart ca | | Path | |--|--| -| **CSP** | ``./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#allowwarningforotherdiskencryption)| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#allowwarningforotherdiskencryption)| | **GPO** | Not available | ### Configure TPM platform validation profile for BIOS-based firmware configurations +This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with BIOS configurations or to computers with UEFI firmware with a Compatibility Service Module (CSM) enabled. Computers using a native UEFI firmware configuration store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for native UEFI firmware configurations" group policy setting to configure the TPM PCR profile for computers using native UEFI firmware. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0), the Option ROM Code (PCR 2), the Master Boot Record (MBR) Code (PCR 4), the NTFS Boot Sector (PCR 8), the NTFS Boot Block (PCR 9), the Boot Manager (PCR 10), and the BitLocker Access Control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. + | | Path | |--|--| | **CSP** | Not available | @@ -216,6 +232,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure TPM platform validation profile for native UEFI firmware configurations +This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Service Module (CSM) enabled store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for BIOS-based firmware configurations" group policy setting to configure the TPM PCR profile for computers with BIOS configurations or computers with UEFI firmware with a CSM enabled. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile for the available hardware or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. On PCs that lack Secure Boot State (PCR 7) support, the default platform validation profile secures the encryption key against changes to the core system firmware executable code (PCR 0), extended or pluggable executable code (PCR 2), boot manager (PCR 4), and the BitLocker access control (PCR 11). When Secure Boot State (PCR7) support is available, the default platform validation profile secures the encryption key using Secure Boot State (PCR 7) and the BitLocker access control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. Specifically, setting this policy with PCR 7 omitted, will override the "Allow Secure Boot for integrity validation" group policy, preventing BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Setting this policy may result in BitLocker recovery when firmware is updated. If you set this policy to include PCR 0, suspend BitLocker prior to applying firmware updates. It is recommended to not configure this policy, to allow Windows to select the PCR profile for the best combination of security and usability based on the available hardware on each PC. + | | Path | |--|--| | **CSP** | Not available | @@ -223,6 +241,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure use of hardware-based encryption for operating system drives +This policy setting allows you to manage BitLocker's use of hardware-based encryption on operating system drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + | | Path | |--|--| | **CSP** | Not available | @@ -230,6 +250,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure use of passwords for operating system drives +This policy setting specifies the constraints for passwords used to unlock BitLocker-protected operating system drives. If non-TPM protectors are allowed on operating system drives, you can provision a password, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable or do not configure this policy setting, the default length constraint of 8 characters will apply to operating system drive passwords and no complexity checks will occur. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. + | | Path | |--|--| | **CSP** | Not available | @@ -237,6 +259,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Disallow standard users from changing the PIN or password +This policy setting allows you to configure whether or not standard users are allowed to change BitLocker volume PINs, provided they are able to provide the existing PIN first. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, standard users will not be allowed to change BitLocker PINs or passwords. If you disable or do not configure this policy setting, standard users will be permitted to change BitLocker PINs and passwords. + | | Path | |--|--| | **CSP** | Not available | @@ -244,6 +268,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Enable use of BitLocker authentication requiring preboot keyboard input on slates +This policy setting allows users to turn on authentication options that require user input from the pre-boot environment, even if the platform lacks pre-boot input capability. The Windows touch keyboard (such as that used by tablets) isn't available in the pre-boot environment where BitLocker requires additional information such as a PIN or Password. If you enable this policy setting, devices must have an alternative means of pre-boot input (such as an attached USB keyboard). If this policy is not enabled, the Windows Recovery Environment must be enabled on tablets to support the entry of the BitLocker recovery password. When the Windows Recovery Environment is not enabled and this policy is not enabled, you cannot turn on BitLocker on a device that uses the Windows touch keyboard. Note that if you do not enable this policy setting, options in the "Require additional authentication at startup" policy might not be available on such devices. These options include: - Configure TPM startup PIN: Required/Allowed - Configure TPM startup key and PIN: Required/Allowed - Configure use of passwords for operating system drives. + | | Path | |--|--| | **CSP** | Not available | @@ -251,6 +277,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Enforce drive encryption type on operating system drives +This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + | | Path | |--|--| | **CSP** | Not available | @@ -258,6 +286,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Require additional authentication at startup +This policy setting allows you to configure whether BitLocker requires additional authentication each time the computer starts and whether you are using BitLocker with or without a Trusted Platform Module (TPM). This policy setting is applied when you turn on BitLocker. Note: Only one of the additional authentication options can be required at startup, otherwise a policy error occurs. If you want to use BitLocker on a computer without a TPM, select the "Allow BitLocker without a compatible TPM" check box. In this mode either a password or a USB drive is required for start-up. When using a startup key, the key information used to encrypt the drive is stored on the USB drive, creating a USB key. When the USB key is inserted the access to the drive is authenticated and the drive is accessible. If the USB key is lost or unavailable or if you have forgotten the password then you will need to use one of the BitLocker recovery options to access the drive. On a computer with a compatible TPM, four types of authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can use only the TPM for authentication, or it can also require insertion of a USB flash drive containing a startup key, the entry of a 6-digit to 20-digit personal identification number (PIN), or both. If you enable this policy setting, users can configure advanced startup options in the BitLocker setup wizard. If you disable or do not configure this policy setting, users can configure only basic options on computers with a TPM. Note: If you want to require the use of a startup PIN and a USB flash drive, you must configure BitLocker settings using the command-line tool manage-bde instead of the BitLocker Drive Encryption setup wizard. + | | Path | |--|--| | **CSP** | Not available | @@ -272,6 +302,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Reset platform validation data after BitLocker recovery +This policy setting allows you to control whether or not platform validation data is refreshed when Windows is started following BitLocker recovery. If you enable this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. If you disable this policy setting, platform validation data will not be refreshed when Windows is started following BitLocker recovery. If you do not configure this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. + | | Path | |--|--| | **CSP** | Not available | @@ -279,6 +311,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Use enhanced Boot Configuration Data validation profile +This policy setting allows you to choose specific Boot Configuration Data (BCD) settings to verify during platform validation. If you enable this policy setting, you will be able to add additional settings, remove the default settings, or both. If you disable this policy setting, the computer will revert to a BCD profile similar to the default BCD profile used by Windows 7. If you do not configure this policy setting, the computer will verify the default Windows BCD settings. Note: When BitLocker is using Secure Boot for platform and Boot Configuration Data (BCD) integrity validation, as defined by the "Allow Secure Boot for integrity validation" group policy, the "Use enhanced Boot Configuration Data validation profile" group policy is ignored. The setting that controls boot debugging (0x16000010) will always be validated and will have no effect if it is included in the provided fields. + | | Path | |--|--| | **CSP** | Not available | @@ -295,9 +329,10 @@ This policy setting allows you to associate an object identifier from a smart ca |[Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker)|✅|✅| |[Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives)|✅|✅| - ### Choose how BitLocker-protected fixed drives can be recovered +This policy setting allows you to control how BitLocker-protected fixed data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected fixed data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for fixed data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected fixed data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS + | | Path | |--|--| | **CSP** | Not available | @@ -305,6 +340,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure use of hardware-based encryption for fixed data drives +This policy setting allows you to manage BitLocker's use of hardware-based encryption on fixed data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + | | Path | |--|--| | **CSP** | Not available | @@ -312,6 +349,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure use of passwords for fixed data drives +This policy setting specifies whether a password is required to unlock BitLocker-protected fixed data drives. If you choose to permit the use of a password, you can require that a password be used, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To require the use of a password, select "Require password for fixed data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. + | | Path | |--|--| | **CSP** | Not available | @@ -319,6 +358,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Configure use of smart cards on fixed data drives +This policy setting allows you to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on fixed data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected fixed data drives. If you do not configure this policy setting, smart cards can be used to authenticate user access to a BitLocker-protected drive. + | | Path | |--|--| | **CSP** | Not available | @@ -326,6 +367,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Deny write access to fixed drives not protected by BitLocker +This policy setting determines whether BitLocker protection is required for fixed data drives to be writable on a computer. If you enable this policy setting, all fixed data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If you disable or do not configure this policy setting, all fixed data drives on the computer will be mounted with read and write access. + | | Path | |--|--| | **CSP** | Not available | @@ -333,6 +376,8 @@ This policy setting allows you to associate an object identifier from a smart ca ### Enforce drive encryption type on fixed data drives +This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + | | Path | |--|--| | **CSP** | Not available | From 86a961f4868bfaa917a8f86fcb8f3486b03faae8 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sat, 23 Sep 2023 17:54:45 -0400 Subject: [PATCH 024/505] updates --- .../data-protection/bitlocker/configure.md | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 29ffbe5056..bd4e346657 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -35,6 +35,7 @@ The following table lists the BitLocker policies applicable to all drive types, |[Allow Suspension Of BitLocker Protection](#allow-suspension-of-bitlocker-protection)|✅|❌| |[Choose default folder for recovery password](#choose-default-folder-for-recovery-password)|❌|✅| |[Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength)|✅|✅| +|[Configure Recovery Password Rotation](#configure-recovery-password-rotation)|✅|❌| |[Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked)|❌|✅| |[Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart)|❌|✅| |[Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization)|✅|✅| @@ -87,7 +88,15 @@ If you disable or do not configure this policy setting, BitLocker uses the defau | **CSP** | Not available | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | +### Configure Recovery Password Rotation + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#configurerecoverypasswordrotation)| +| **GPO** | Not available | + ### Disable new DMA devices when this computer is locked + This policy setting allows you to block direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. | | Path | @@ -131,7 +140,6 @@ This policy setting allows you to associate an object identifier from a smart ca |[Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered)|✅|✅| |[Configure minimum PIN length for startup](#configure-minimum-pin-length-for-startup)|✅|✅| |[Configure pre-boot recovery message and URL](#configure-pre-boot-recovery-message-and-url)|✅|✅| -|[Configure Recovery Password Rotation](#configure-recovery-password-rotation)|✅|❌| |[Configure TPM platform validation profile for BIOS-based firmware configurations](#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations)|❌|✅| |[Configure TPM platform validation profile for native UEFI firmware configurations](#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations)|❌|✅| |[Configure use of hardware-based encryption for operating system drives](#configure-use-of-hardware-based-encryption-for-operating-system-drives)|❌|✅| @@ -214,13 +222,6 @@ This policy setting lets you configure the entire recovery message or replace th | **CSP** | Not available | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | -### Configure Recovery Password Rotation - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#allowwarningforotherdiskencryption)| -| **GPO** | Not available | - ### Configure TPM platform validation profile for BIOS-based firmware configurations This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with BIOS configurations or to computers with UEFI firmware with a Compatibility Service Module (CSM) enabled. Computers using a native UEFI firmware configuration store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for native UEFI firmware configurations" group policy setting to configure the TPM PCR profile for computers using native UEFI firmware. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0), the Option ROM Code (PCR 2), the Master Boot Record (MBR) Code (PCR 4), the NTFS Boot Sector (PCR 8), the NTFS Boot Block (PCR 9), the Boot Manager (PCR 10), and the BitLocker Access Control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. @@ -297,7 +298,7 @@ This policy setting allows you to configure whether BitLocker requires additiona | | Path | |--|--| -| **CSP** | ``./Device/Vendor/MSFT/BitLocker/`[ConfigureRecoveryPasswordRotation](/windows/client-management/mdm/bitlocker-csp#configurerecoverypasswordrotation) | +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RequireDeviceEncryption](/windows/client-management/mdm/bitlocker-csp#requiredeviceencryption) | | **GPO** | Not available | ### Reset platform validation data after BitLocker recovery @@ -394,6 +395,8 @@ This policy setting allows you to configure the encryption type used by BitLocke |[Control use of BitLocker on removable drives](#control-use-of-bitlocker-on-removable-drives)|✅|✅| |[Deny write access to removable drives not protected by BitLocker](#deny-write-access-to-removable-drives-not-protected-by-bitlocker)|✅|✅| |[Enforce drive encryption type on removable data drives](#enforce-drive-encryption-type-on-removable-data-drives)|✅|✅| +|[Removable Drives Excluded From Encryption](#removable-drives-excluded-from-encryption)|✅|❌| + ### Choose how BitLocker-protected removable drives can be recovered @@ -449,7 +452,6 @@ This policy setting configures whether BitLocker protection is required for a co | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesrequireencryption) | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - ### Enforce drive encryption type on removable data drives This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. @@ -459,4 +461,11 @@ This policy setting allows you to configure the encryption type used by BitLocke | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#removabledrivesencryptiontype) | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | +### Removable Drives Excluded From Encryption + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesExcludedFromEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesexcludedfromencryption) | +| **GPO** | Not available | + --- From ddd8c9057894846929925a9498953ecd7311a890 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sat, 23 Sep 2023 18:25:05 -0400 Subject: [PATCH 025/505] updates --- .../bitlocker-group-policy-settings.md | 139 +----- .../data-protection/bitlocker/configure.md | 471 ------------------ .../data-protection/bitlocker/settings.md | 468 +++++++++++++++++ 3 files changed, 469 insertions(+), 609 deletions(-) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/configure.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/settings.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md index f6aa783b9e..ec85726d22 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md @@ -10,16 +10,7 @@ ms.date: 11/08/2022 # BitLocker group policy settings -This article for IT professionals describes the function, location, and effect of each Group Policy setting that is used to manage BitLocker Drive Encryption. - -Group Policy administrative templates or local computer policy settings can be used to control what BitLocker drive encryption tasks and configurations can be performed by users, for example through the **BitLocker Drive Encryption** control panel. Which of these policies are configured and how they're configured depends on how BitLocker is implemented and what level of interaction is desired for end users. - -> [!NOTE] -> A separate set of Group Policy settings supports the use of the Trusted Platform Module (TPM). For details about those settings, see [TPM Group Policy settings](../../../hardware-security/tpm/trusted-platform-module-services-group-policy-settings.md). - -BitLocker Group Policy settings can be accessed using the Local Group Policy Editor and the Group Policy Management Console (GPMC) under **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption**. - -Most of the BitLocker Group Policy settings are applied when BitLocker is initially turned on for a drive. If a computer isn't compliant with existing Group Policy settings, BitLocker may not be turned on, or BitLocker configuration may be modified until the computer is in a compliant state. When a drive becomes out of compliance with Group Policy settings, only changes to the BitLocker configuration that will bring it into compliance are allowed. This scenario could occur, for example, if a previously encrypted drive was brought out of compliance by change in Group Policy settings. +If a device isn't compliant with existing settings, BitLocker may not be turned on, or BitLocker configuration may be modified until the computer is in a compliant state. When a drive becomes out of compliance with policy settings, only changes to the BitLocker configuration that will bring it into compliance are allowed. This scenario could occur, for example, if a previously encrypted drive was brought out of compliance by change in Group Policy settings. If multiple changes are necessary to bring the drive into compliance, BitLocker protection may need to be suspended, the necessary changes made, and then protection resumed. This situation could occur, for example, if a removable drive is initially configured for unlock with a password but then Group Policy settings are changed to disallow passwords and require smart cards. In this situation, BitLocker protection needs to be suspended by using the [Manage-bde](/windows-server/administration/windows-commands/manage-bde) command-line tool, delete the password unlock method, and add the smart card method. After this process is complete, BitLocker is compliant with the Group Policy setting, and BitLocker protection on the drive can be resumed. @@ -27,80 +18,6 @@ In other scenarios, to bring the drive into compliance with a change in Group Po ## BitLocker group policy settings details -> [!NOTE] -> For more details about Active Directory configuration related to BitLocker enablement, please see [Set up MDT for BitLocker](/windows/deployment/deploy-windows-mdt/set-up-mdt-for-bitlocker). - -The following sections provide a comprehensive list of BitLocker group policy settings that are organized by usage. BitLocker group policy settings include settings for specific drive types (operating system drives, fixed data drives, and removable data drives) and settings that are applied to all drives. - -The following policy settings can be used to determine how a BitLocker-protected drive can be unlocked. - -- [Allow devices with Secure Boot and protected DMA ports to opt out of preboot PIN](#allow-devices-with-secure-boot-and-protected-dma-ports-to-opt-out-of-preboot-pin) -- [Allow network unlock at startup](#allow-network-unlock-at-startup) -- [Require additional authentication at startup](#require-additional-authentication-at-startup) -- [Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup) -- [Configure minimum PIN length for startup](#configure-minimum-pin-length-for-startup) -- [Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked) -- [Disallow standard users from changing the PIN or password](#disallow-standard-users-from-changing-the-pin-or-password) -- [Configure use of passwords for operating system drives](#configure-use-of-passwords-for-operating-system-drives) -- [Require additional authentication at startup (Windows Server 2008 and Windows Vista)](#require-additional-authentication-at-startup-windows-server-2008-and-windows-vista) -- [Configure use of smart cards on fixed data drives](#configure-use-of-smart-cards-on-fixed-data-drives) -- [Configure use of passwords on fixed data drives](#configure-use-of-passwords-on-fixed-data-drives) -- [Configure use of smart cards on removable data drives](#configure-use-of-smart-cards-on-removable-data-drives) -- [Configure use of passwords on removable data drives](#configure-use-of-passwords-on-removable-data-drives) -- [Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance) -- [Enable use of BitLocker authentication requiring preboot keyboard input on slates](#enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates) - -The following policy settings are used to control how users can access drives and how they can use BitLocker on their computers. - -- [Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker) -- [Deny write access to removable drives not protected by BitLocker](#deny-write-access-to-removable-drives-not-protected-by-bitlocker) -- [Control use of BitLocker on removable drives](#control-use-of-bitlocker-on-removable-drives) - -The following policy settings determine the encryption methods and encryption types that are used with BitLocker. - -- [Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength) -- [Configure use of hardware-based encryption for fixed data drives](#configure-use-of-hardware-based-encryption-for-fixed-data-drives) -- [Configure use of hardware-based encryption for operating system drives](#configure-use-of-hardware-based-encryption-for-operating-system-drives) -- [Configure use of hardware-based encryption for removable data drives](#configure-use-of-hardware-based-encryption-for-removable-data-drives) -- [Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives) -- [Enforce drive encryption type on operating system drives](#enforce-drive-encryption-type-on-operating-system-drives) -- [Enforce drive encryption type on removable data drives](#enforce-drive-encryption-type-on-removable-data-drives) - -The following policy settings define the recovery methods that can be used to restore access to a BitLocker-protected drive if an authentication method fails or is unable to be used. - -- [Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered) -- [Choose how users can recover BitLocker-protected drives (Windows Server 2008 and Windows Vista)](#choose-how-users-can-recover-bitlocker-protected-drives-windows-server-2008-and-windows-vista) -- [Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista)](#store-bitlocker-recovery-information-in-active-directory-domain-services-windows-server-2008-and-windows-vista) -- [Choose default folder for recovery password](#choose-default-folder-for-recovery-password) -- [Choose how BitLocker-protected fixed drives can be recovered](#choose-how-bitlocker-protected-fixed-drives-can-be-recovered) -- [Choose how BitLocker-protected removable drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered) -- [Configure the pre-boot recovery message and URL](#configure-the-pre-boot-recovery-message-and-url) - -The following policies are used to support customized deployment scenarios in an organization. - -- [Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation) -- [Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization) -- [Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart) -- [Configure TPM platform validation profile for BIOS-based firmware configurations](#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations) -- [Configure TPM platform validation profile (Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2)](#configure-tpm-platform-validation-profile-windows-vista-windows-server-2008-windows-7-windows-server-2008-r2) -- [Configure TPM platform validation profile for native UEFI firmware configurations](#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations) -- [Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery) -- [Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile) -- [Allow access to BitLocker-protected fixed data drives from earlier versions of Windows](#allow-access-to-bitlocker-protected-fixed-data-drives-from-earlier-versions-of-windows) -- [Allow access to BitLocker-protected removable data drives from earlier versions of Windows](#allow-access-to-bitlocker-protected-removable-data-drives-from-earlier-versions-of-windows) - -### Allow devices with secure boot and protected DMA ports to opt out of preboot PIN - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, TPM-only protection can be allowed for newer, more secure devices, such as devices that support Modern Standby or HSTI, while requiring PIN on older devices.| -|**Introduced**|Windows 10, version 1703| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|This setting overrides the **Require startup PIN with TPM** option of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy on compliant hardware.| -|**When enabled**|Users on Modern Standby and HSTI compliant devices will have the choice to turn on BitLocker without preboot authentication.| -|**When disabled or not configured**|The options of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy apply.| - #### Reference: Allow devices with secure boot and protected DMA ports to opt out of preboot PIN The preboot authentication option **Require startup PIN with TPM** of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy is often enabled to help ensure security for older devices that don't support Modern Standby. But visually impaired users have no audible way to know when to enter a PIN. @@ -1000,12 +917,8 @@ This policy setting is used to establish an identifier that is applied to all dr | Item | Info | |:---|:---| |**Policy description**|With this policy setting, unique organizational identifiers can be associated to a new drive that is enabled with BitLocker.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|All drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| |**Conflicts**|Identification fields are required to manage certificate-based data recovery agents on BitLocker-protected drives. BitLocker manages and updates certificate-based data recovery agents only when the identification field is present on a drive and it's identical to the value that is configured on the computer.| |**When enabled**|The identification field on the BitLocker-protected drive and any allowed identification field that is used by an organization can be configured.| -|**When disabled or not configured**|The identification field isn't required.| #### Reference: Provide the unique identifiers for your organization @@ -1228,48 +1141,6 @@ This policy setting determines specific Boot Configuration Data (BCD) settings t > [!NOTE] > The setting that controls boot debugging (0x16000010) is always validated, and it has no effect if it's included in the inclusion or the exclusion list. -### Allow access to BitLocker-protected fixed data drives from earlier versions of Windows - -This policy setting is used to control whether access to drives is allowed by using the BitLocker To Go Reader, and whether BitLocker To Go Reader can be installed on the drive. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether fixed data drives that are formatted with the FAT file system can be unlocked and viewed on computers running Windows Vista, Windows XP with Service Pack 3 (SP3), or Windows XP with Service Pack 2 (SP2).| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|None| -|**When enabled and When not configured**|Fixed data drives that are formatted with the FAT file system can be unlocked on computers running Windows Server 2008, Windows Vista, Windows XP with SP3, or Windows XP with SP2, and their content can be viewed. These operating systems have Read-only access to BitLocker-protected drives.| -|**When disabled**|Fixed data drives that are formatted with the FAT file system and are BitLocker-protected can't be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2. BitLocker To Go Reader (bitlockertogo.exe) isn't installed.| - -#### Reference: Allow access to BitLocker-protected fixed data drives from earlier versions of Windows - -> [!NOTE] -> This policy setting doesn't apply to drives that are formatted with the NTFS file system. - -When this policy setting is enabled, select the **Do not install BitLocker To Go Reader on FAT formatted fixed drives** check box to help prevent users from running BitLocker To Go Reader from their fixed drives. If BitLocker To Go Reader (bitlockertogo.exe) is present on a drive that doesn't have an identification field specified, or if the drive has the same identification field as specified in the **Provide unique identifiers for your organization** policy setting, the user is prompted to update BitLocker, and BitLocker To Go Reader is deleted from the drive. In this situation, for the fixed drive to be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2, BitLocker To Go Reader must be installed on the computer. If this check box isn't selected, then BitLocker To Go Reader will be installed on the fixed drive to enable users to unlock the drive on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2. - -### Allow access to BitLocker-protected removable data drives from earlier versions of Windows - -This policy setting controls access to removable data drives that are using the BitLocker To Go Reader and whether the BitLocker To Go Reader can be installed on the drive. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether removable data drives that are formatted with the FAT file system can be unlocked and viewed on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|None| -|**When enabled and When not configured**|Removable data drives that are formatted with the FAT file system can be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2, and their content can be viewed. These operating systems have Read-only access to BitLocker-protected drives.| -|**When disabled**|Removable data drives that are formatted with the FAT file system that are BitLocker-protected can't be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2. BitLocker To Go Reader (bitlockertogo.exe) isn't installed.| - -#### Reference: Allow access to BitLocker-protected removable data drives from earlier versions of Windows - -> [!NOTE] -> This policy setting doesn't apply to drives that are formatted with the NTFS file system. - -When this policy setting is enabled, select the **Do not install BitLocker To Go Reader on FAT formatted removable drives** check box to help prevent users from running BitLocker To Go Reader from their removable drives. If BitLocker To Go Reader (bitlockertogo.exe) is present on a drive that doesn't have an identification field specified, or if the drive has the same identification field as specified in the **Provide unique identifiers for your organization** policy setting, the user will be prompted to update BitLocker, and BitLocker To Go Reader is deleted from the drive. In this situation, for the removable drive to be unlocked on computers running Windows Vista, Windows XP with SP3, or Windows XP with SP2, BitLocker To Go Reader must be installed on the computer. If this check box isn't selected, then BitLocker To Go Reader will be installed on the removable drive to enable users to unlock the drive on computers running Windows Vista or Windows XP that don't have BitLocker To Go Reader installed. - ## FIPS setting The Federal Information Processing Standard (FIPS) setting for FIPS compliance can be configured. As an effect of FIPS compliance, users can't create or save a BitLocker password for recovery or as a key protector. The use of a recovery key is permitted. @@ -1318,11 +1189,3 @@ PCR 7 measures the state of Secure Boot. With PCR 7, BitLocker can use Secure Bo PCR 7 measurements must follow the guidance that is described in [Appendix A Trusted Execution Environment EFI Protocol](/windows-hardware/test/hlk/testref/trusted-execution-environment-efi-protocol). PCR 7 measurements are a mandatory logo requirement for systems that support Modern Standby (also known as Always On, Always Connected PCs), such as the Microsoft Surface RT. On such systems, if the TPM with PCR 7 measurement and secure boot are correctly configured, BitLocker binds to PCR 7 and PCR 11 by default. - -## Related articles - -- [Trusted Platform Module](/windows/device-security/tpm/trusted-platform-module-overview) -- [TPM Group Policy settings](/windows/device-security/tpm/trusted-platform-module-services-group-policy-settings) -- [BitLocker frequently asked questions (FAQ)](faq.yml) -- [BitLocker overview](index.md) -- [Prepare your organization for BitLocker: Planning and policies](prepare-your-organization-for-bitlocker-planning-and-policies.md) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md deleted file mode 100644 index bd4e346657..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ /dev/null @@ -1,471 +0,0 @@ ---- -title: BitLocker settings list -description: Learn about the settings to configure BitLocker. -ms.collection: - - tier1 -ms.topic: reference -ms.date: 09/19/2023 ---- - -# BitLocker settings list - -[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup) -[Allow network unlock at startup](#allow-network-unlock-at-startup) -[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation) - -This reference article describes the available settings to configure BitLocker via Microsoft Intune, CSP, and group policies. - -The list of settings is sorted alphabetically and organized in four tabs: - -- **Common settings** lists the settings that apply to all BitLocker-protected drives -- **Operating system drive** lists the settings applicable to the drive where Windows is installed -- **Fixed data drives** lists the settings applicable to any local drives, except the operating system drive -- **Removable data drives** lists the settings applicable to any removable drives - -> [!NOTE] -> Settings are enforced only at the time encryption is started. Encryption isn't restarted with settings changes. - -#### [:::image type="icon" source="images/locked-drive.svg"::: **Common settings**](#tab/common) - -The following table lists the BitLocker policies applicable to all drive types, indicating if they're applicable via configuration service provider (CSP) and/or group policy (GPO). Select the policy name for more details. - -|Policy name| CSP | GPO | -|-|-|-| -|[Allow Standard User Encryption](#allow-standard-user-encryption)|✅|❌| -|[Allow Suspension Of BitLocker Protection](#allow-suspension-of-bitlocker-protection)|✅|❌| -|[Choose default folder for recovery password](#choose-default-folder-for-recovery-password)|❌|✅| -|[Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength)|✅|✅| -|[Configure Recovery Password Rotation](#configure-recovery-password-rotation)|✅|❌| -|[Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked)|❌|✅| -|[Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart)|❌|✅| -|[Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization)|✅|✅| -|[Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance)|❌|✅| - -### Allow Standard User Encryption - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)| -| **GPO** | Not available | - -### Allow Suspension Of BitLocker Protection - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection)| -| **GPO** | Not available | - -### Choose default folder for recovery password - -Specify the default path that is displayed when the *BitLocker Drive Encryption setup wizard* prompts the user to enter the location of a folder in which to save the recovery password. You can specify either a fully qualified path or include the target computer's environment variables in the path: - -- If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view -- If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder - -> [!NOTE] -> This policy setting does not prevent the user from saving the recovery password in another folder. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | - -### Choose drive encryption method and cipher strength - -With this policy you can configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. -Recommended settings: - -- For fixed and operating system drives: XTS-AES algorithm -- For removable drives: AES-CBC 128-bit or AES-CBC 256-bit - -> [!NOTE] -> This policy setting is applied when you turn on BitLocker. Changing the encryption method has no effect if the drive is already encrypted, or if encryption is in progress. - -If you disable or do not configure this policy setting, BitLocker uses the default encryption method of XTS-AES 128-bit. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | - -### Configure Recovery Password Rotation - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#configurerecoverypasswordrotation)| -| **GPO** | Not available | - -### Disable new DMA devices when this computer is locked - -This policy setting allows you to block direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | - -### Prevent memory overwrite on restart -This policy setting controls computer restart performance at the risk of exposing BitLocker secrets. This policy setting is applied when you turn on BitLocker. BitLocker secrets include key material used to encrypt data. This policy setting applies only when BitLocker protection is enabled. If you enable this policy setting, memory will not be overwritten when the computer restarts. Preventing memory overwrite may improve restart performance but will increase the risk of exposing BitLocker secrets. If you disable or do not configure this policy setting, BitLocker secrets are removed from memory when the computer restarts. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | - -### Provide the unique identifiers for your organization -This policy setting allows you to associate unique organizational identifiers to a new drive that is enabled with BitLocker. These identifiers are stored as the identification field and allowed identification field. The identification field allows you to associate a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives and can be updated on existing BitLocker-protected drives using the manage-bde command-line tool. An identification field is required for management of certificate-based data recovery agents on BitLocker-protected drives and for potential updates to the BitLocker To Go Reader. BitLocker will only manage and update data recovery agents when the identification field on the drive matches the value configured in the identification field. In a similar manner, BitLocker will only update the BitLocker To Go Reader when the identification field on the drive matches the value configured for the identification field. The allowed identification field is used in combination with the "Deny write access to removable drives not protected by BitLocker" policy setting to help control the use of removable drives in your organization. It is a comma separated list of identification fields from your organization or other external organizations. You can configure the identification fields on existing drives by using manage-bde.exe. If you enable this policy setting, you can configure the identification field on the BitLocker-protected drive and any allowed identification field used by your organization. When a BitLocker-protected drive is mounted on another BitLocker-enabled computer the identification field and allowed identification field will be used to determine whether the drive is from an outside organization. If you disable or do not configure this policy setting, the identification field is not required. Note: Identification fields are required for management of certificate-based data recovery agents on BitLocker-protected drives. BitLocker will only manage and update certificate-based data recovery agents when the identification field is present on a drive and is identical to the value configured on the computer. The identification field can be any value of 260 characters or fewer. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | - -### Validate smart card certificate usage rule compliance -This policy setting allows you to associate an object identifier from a smart card certificate to a BitLocker-protected drive. This policy setting is applied when you turn on BitLocker. The object identifier is specified in the enhanced key usage (EKU) of a certificate. BitLocker can identify which certificates may be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. Default object identifier is 1.3.6.1.4.1.311.67.1.1 Note: BitLocker does not require that a certificate have an EKU attribute, but if one is configured for the certificate it must be set to an object identifier (OID) that matches the OID configured for BitLocker. If you enable this policy setting, the object identifier specified in the "Object identifier" box must match the object identifier in the smart card certificate. If you disable or do not configure this policy setting, a default object identifier is used. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | - -#### [:::image type="icon" source="images/os-drive.svg"::: **Operating system drive**](#tab/os) - -|Policy name| CSP | GPO | -|-|-|-| -|[Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN](#allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin)|✅|✅| -|[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup)|✅|✅| -|[Allow network unlock at startup](#allow-network-unlock-at-startup)|❌|✅| -|[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation)|❌|✅| -|[Allow Warning For Other Disk Encryption](#allow-warning-for-other-disk-encryption)|✅|❌| -|[Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered)|✅|✅| -|[Configure minimum PIN length for startup](#configure-minimum-pin-length-for-startup)|✅|✅| -|[Configure pre-boot recovery message and URL](#configure-pre-boot-recovery-message-and-url)|✅|✅| -|[Configure TPM platform validation profile for BIOS-based firmware configurations](#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations)|❌|✅| -|[Configure TPM platform validation profile for native UEFI firmware configurations](#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations)|❌|✅| -|[Configure use of hardware-based encryption for operating system drives](#configure-use-of-hardware-based-encryption-for-operating-system-drives)|❌|✅| -|[Configure use of passwords for operating system drives](#configure-use-of-passwords-for-operating-system-drives)|❌|✅| -|[Disallow standard users from changing the PIN or password](#disallow-standard-users-from-changing-the-pin-or-password)|✅|✅| -|[Enable use of BitLocker authentication requiring preboot keyboard input on slates](#enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates)|✅|✅| -|[Enforce drive encryption type on operating system drives](#enforce-drive-encryption-type-on-operating-system-drives)|✅|✅| -|[Require additional authentication at startup](#require-additional-authentication-at-startup)|✅|✅| -|[Require Device Encryption](#require-device-encryption)|✅|❌| -|[Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery)|❌|✅| -|[Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile)|❌|✅| - -### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN - -This policy setting allows users on devices that are compliant with InstantGo or Microsoft Hardware Security Test Interface (HSTI) to not have a PIN for pre-boot authentication. This overrides the "Require startup PIN with TPM" and "Require startup key and PIN with TPM" options of the "Require additional authentication at startup" policy on compliant hardware. If you enable this policy setting, users on InstantGo and HSTI compliant devices will have the choice to turn on BitLocker without pre-boot authentication. If this policy is not enabled, the options of "Require additional authentication at startup" policy apply. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Allow enhanced PINs for startup - -This policy setting allows you to configure whether or not enhanced startup PINs are used with BitLocker. Enhanced startup PINs permit the use of characters including uppercase and lowercase letters, symbols, numbers, and spaces. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, all new BitLocker startup PINs set will be enhanced PINs. Note: Not all computers may support enhanced PINs in the pre-boot environment. It is strongly recommended that users perform a system check during BitLocker setup. If you disable or do not configure this policy setting, enhanced PINs will not be used. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Allow network unlock at startup - -This policy setting controls whether a BitLocker-protected computer that is connected to a trusted wired Local Area Network (LAN) and joined to a domain can create and use Network Key Protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started. If you enable this policy, clients configured with a BitLocker Network Unlock certificate will be able to create and use Network Key Protectors. To use a Network Key Protector to unlock the computer, both the computer and the BitLocker Drive Encryption Network Unlock server must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create Network Key Protectors, and protects the information exchanged with the server to unlock the computer. You can use the group policy setting "Computer Configuration\Windows Settings\Security Settings\Public Key Policies\BitLocker Drive Encryption Network Unlock Certificate" on the domain controller to distribute this certificate to computers in your organization. This unlock method uses the TPM on the computer, so computers that do not have a TPM cannot create Network Key Protectors to automatically unlock with Network Unlock. If you disable or do not configure this policy setting, BitLocker clients will not be able to create and use Network Key Protectors. Note: For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or the server at startup. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Allow Secure Boot for integrity validation - -This policy setting allows you to configure whether Secure Boot will be allowed as the platform integrity provider for BitLocker operating system drives. Secure Boot ensures that the PC's pre-boot environment only loads firmware that is digitally signed by authorized software publishers. Secure Boot also provides more flexibility for managing pre-boot configuration than legacy BitLocker integrity checks. If you enable or do not configure this policy setting, BitLocker will use Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation. If you disable this policy setting, BitLocker will use legacy platform integrity validation, even on systems capable of Secure Boot-based integrity validation. When this policy is enabled and the hardware is capable of using Secure Boot for BitLocker scenarios, the "Use enhanced Boot Configuration Data validation profile" group policy setting is ignored and Secure Boot verifies BCD settings according to the Secure Boot policy setting, which is configured separately from BitLocker. Note: If the group policy setting "Configure TPM platform validation profile for native UEFI firmware configurations" is enabled and has PCR 7 omitted, Bitlocker will be prevented from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Warning: Disabling this policy may result in BitLocker recovery when firmware is updated. If you disable this policy, suspend BitLocker prior to applying firmware updates. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Allow Warning For Other Disk Encryption - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RequireDeviceEncryption](/windows/client-management/mdm/bitlocker-csp#requiredeviceencryption) | -| **GPO** | Not available | - -### Choose how BitLocker-protected operating system drives can be recovered - -This policy setting allows you to control how BitLocker-protected operating system drives are recovered in the absence of the required startup key information. This policy setting is applied when you turn on BitLocker. The "Allow certificate-based data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected operating system drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services", choose which BitLocker recovery information to store in AD DS for operating system drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected operating system drives. If this policy setting is disabled or not configured, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure minimum PIN length for startup - -This policy setting allows you to configure a minimum length for a Trusted Platform Module (TPM) startup PIN. This policy setting is applied when you turn on BitLocker. The startup PIN must have a minimum length of 4 digits and can have a maximum length of 20 digits. If you enable this policy setting, you can require a minimum number of digits to be used when setting the startup PIN. If you disable or do not configure this policy setting, users can configure a startup PIN of any length between 6 and 20 digits. NOTE: If minimum PIN length is set below 6 digits, Windows will attempt to update the TPM 2.0 lockout period to be greater than the default when a PIN is changed. If successful, Windows will only reset the TPM lockout period back to default if the TPM is reset. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure pre-boot recovery message and URL - -This policy setting lets you configure the entire recovery message or replace the existing URL that are displayed on the pre-boot key recovery screen when the OS drive is locked. If you select the "Use default recovery message and URL" option, the default BitLocker recovery message and URL will be displayed in the pre-boot key recovery screen. If you have previously configured a custom recovery message or URL and want to revert to the default message, you must keep the policy enabled and select the "Use default recovery message and URL" option. If you select the "Use custom recovery message" option, the message you type in the "Custom recovery message option" text box will be displayed in the pre-boot key recovery screen. If a recovery URL is available, include it in the message. If you select the "Use custom recovery URL" option, the URL you type in the "Custom recovery URL option" text box will replace the default URL in the default recovery message, which will be displayed in the pre-boot key recovery screen. Note: Not all characters and languages are supported in pre-boot. It is strongly recommended that you test that the characters you use for the custom message or URL appear correctly on the pre-boot recovery screen. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure TPM platform validation profile for BIOS-based firmware configurations - -This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with BIOS configurations or to computers with UEFI firmware with a Compatibility Service Module (CSM) enabled. Computers using a native UEFI firmware configuration store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for native UEFI firmware configurations" group policy setting to configure the TPM PCR profile for computers using native UEFI firmware. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0), the Option ROM Code (PCR 2), the Master Boot Record (MBR) Code (PCR 4), the NTFS Boot Sector (PCR 8), the NTFS Boot Block (PCR 9), the Boot Manager (PCR 10), and the BitLocker Access Control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure TPM platform validation profile for native UEFI firmware configurations - -This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Service Module (CSM) enabled store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for BIOS-based firmware configurations" group policy setting to configure the TPM PCR profile for computers with BIOS configurations or computers with UEFI firmware with a CSM enabled. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile for the available hardware or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. On PCs that lack Secure Boot State (PCR 7) support, the default platform validation profile secures the encryption key against changes to the core system firmware executable code (PCR 0), extended or pluggable executable code (PCR 2), boot manager (PCR 4), and the BitLocker access control (PCR 11). When Secure Boot State (PCR7) support is available, the default platform validation profile secures the encryption key using Secure Boot State (PCR 7) and the BitLocker access control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. Specifically, setting this policy with PCR 7 omitted, will override the "Allow Secure Boot for integrity validation" group policy, preventing BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Setting this policy may result in BitLocker recovery when firmware is updated. If you set this policy to include PCR 0, suspend BitLocker prior to applying firmware updates. It is recommended to not configure this policy, to allow Windows to select the PCR profile for the best combination of security and usability based on the available hardware on each PC. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure use of hardware-based encryption for operating system drives - -This policy setting allows you to manage BitLocker's use of hardware-based encryption on operating system drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure use of passwords for operating system drives - -This policy setting specifies the constraints for passwords used to unlock BitLocker-protected operating system drives. If non-TPM protectors are allowed on operating system drives, you can provision a password, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable or do not configure this policy setting, the default length constraint of 8 characters will apply to operating system drive passwords and no complexity checks will occur. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Disallow standard users from changing the PIN or password - -This policy setting allows you to configure whether or not standard users are allowed to change BitLocker volume PINs, provided they are able to provide the existing PIN first. This policy setting is applied when you turn on BitLocker. If you enable this policy setting, standard users will not be allowed to change BitLocker PINs or passwords. If you disable or do not configure this policy setting, standard users will be permitted to change BitLocker PINs and passwords. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Enable use of BitLocker authentication requiring preboot keyboard input on slates - -This policy setting allows users to turn on authentication options that require user input from the pre-boot environment, even if the platform lacks pre-boot input capability. The Windows touch keyboard (such as that used by tablets) isn't available in the pre-boot environment where BitLocker requires additional information such as a PIN or Password. If you enable this policy setting, devices must have an alternative means of pre-boot input (such as an attached USB keyboard). If this policy is not enabled, the Windows Recovery Environment must be enabled on tablets to support the entry of the BitLocker recovery password. When the Windows Recovery Environment is not enabled and this policy is not enabled, you cannot turn on BitLocker on a device that uses the Windows touch keyboard. Note that if you do not enable this policy setting, options in the "Require additional authentication at startup" policy might not be available on such devices. These options include: - Configure TPM startup PIN: Required/Allowed - Configure TPM startup key and PIN: Required/Allowed - Configure use of passwords for operating system drives. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Enforce drive encryption type on operating system drives - -This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Require additional authentication at startup - -This policy setting allows you to configure whether BitLocker requires additional authentication each time the computer starts and whether you are using BitLocker with or without a Trusted Platform Module (TPM). This policy setting is applied when you turn on BitLocker. Note: Only one of the additional authentication options can be required at startup, otherwise a policy error occurs. If you want to use BitLocker on a computer without a TPM, select the "Allow BitLocker without a compatible TPM" check box. In this mode either a password or a USB drive is required for start-up. When using a startup key, the key information used to encrypt the drive is stored on the USB drive, creating a USB key. When the USB key is inserted the access to the drive is authenticated and the drive is accessible. If the USB key is lost or unavailable or if you have forgotten the password then you will need to use one of the BitLocker recovery options to access the drive. On a computer with a compatible TPM, four types of authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can use only the TPM for authentication, or it can also require insertion of a USB flash drive containing a startup key, the entry of a 6-digit to 20-digit personal identification number (PIN), or both. If you enable this policy setting, users can configure advanced startup options in the BitLocker setup wizard. If you disable or do not configure this policy setting, users can configure only basic options on computers with a TPM. Note: If you want to require the use of a startup PIN and a USB flash drive, you must configure BitLocker settings using the command-line tool manage-bde instead of the BitLocker Drive Encryption setup wizard. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Require Device Encryption - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RequireDeviceEncryption](/windows/client-management/mdm/bitlocker-csp#requiredeviceencryption) | -| **GPO** | Not available | - -### Reset platform validation data after BitLocker recovery - -This policy setting allows you to control whether or not platform validation data is refreshed when Windows is started following BitLocker recovery. If you enable this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. If you disable this policy setting, platform validation data will not be refreshed when Windows is started following BitLocker recovery. If you do not configure this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Use enhanced Boot Configuration Data validation profile - -This policy setting allows you to choose specific Boot Configuration Data (BCD) settings to verify during platform validation. If you enable this policy setting, you will be able to add additional settings, remove the default settings, or both. If you disable this policy setting, the computer will revert to a BCD profile similar to the default BCD profile used by Windows 7. If you do not configure this policy setting, the computer will verify the default Windows BCD settings. Note: When BitLocker is using Secure Boot for platform and Boot Configuration Data (BCD) integrity validation, as defined by the "Allow Secure Boot for integrity validation" group policy, the "Use enhanced Boot Configuration Data validation profile" group policy is ignored. The setting that controls boot debugging (0x16000010) will always be validated and will have no effect if it is included in the provided fields. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -#### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drives**](#tab/fixed) - -|Policy name| CSP | GPO | -|-|-|-| -|[Choose how BitLocker-protected fixed drives can be recovered](#choose-how-bitlocker-protected-fixed-drives-can-be-recovered)|✅|✅| -|[Configure use of hardware-based encryption for fixed data drives](#configure-use-of-hardware-based-encryption-for-fixed-data-drives)|❌|✅| -|[Configure use of passwords for fixed data drives](#configure-use-of-passwords-for-fixed-data-drives)|❌|✅| -|[Configure use of smart cards on fixed data drives](#configure-use-of-smart-cards-on-fixed-data-drives)|❌|✅| -|[Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker)|✅|✅| -|[Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives)|✅|✅| - -### Choose how BitLocker-protected fixed drives can be recovered - -This policy setting allows you to control how BitLocker-protected fixed data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected fixed data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for fixed data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected fixed data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Configure use of hardware-based encryption for fixed data drives - -This policy setting allows you to manage BitLocker's use of hardware-based encryption on fixed data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Configure use of passwords for fixed data drives - -This policy setting specifies whether a password is required to unlock BitLocker-protected fixed data drives. If you choose to permit the use of a password, you can require that a password be used, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To require the use of a password, select "Require password for fixed data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Configure use of smart cards on fixed data drives - -This policy setting allows you to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on fixed data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected fixed data drives. If you do not configure this policy setting, smart cards can be used to authenticate user access to a BitLocker-protected drive. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Deny write access to fixed drives not protected by BitLocker - -This policy setting determines whether BitLocker protection is required for fixed data drives to be writable on a computer. If you enable this policy setting, all fixed data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If you disable or do not configure this policy setting, all fixed data drives on the computer will be mounted with read and write access. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Enforce drive encryption type on fixed data drives - -This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -#### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drives**](#tab/removable) - -|Policy name| CSP | GPO | -|-|-|-| -|[Choose how BitLocker-protected removable drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered)|❌|✅| -|[Configure use of hardware-based encryption for removable data drives](#configure-use-of-hardware-based-encryption-for-removable-data-drives)|❌|✅| -|[Configure use of passwords for removable data drives](#configure-use-of-passwords-for-removable-data-drives)|❌|✅| -|[Configure use of smart cards on removable data drives](#configure-use-of-smart-cards-on-removable-data-drives)|❌|✅| -|[Control use of BitLocker on removable drives](#control-use-of-bitlocker-on-removable-drives)|✅|✅| -|[Deny write access to removable drives not protected by BitLocker](#deny-write-access-to-removable-drives-not-protected-by-bitlocker)|✅|✅| -|[Enforce drive encryption type on removable data drives](#enforce-drive-encryption-type-on-removable-data-drives)|✅|✅| -|[Removable Drives Excluded From Encryption](#removable-drives-excluded-from-encryption)|✅|❌| - - -### Choose how BitLocker-protected removable drives can be recovered - -This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. This policy setting is applied when you turn on BitLocker. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Configure use of hardware-based encryption for removable data drives - -This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Configure use of passwords for removable data drives - -This policy setting specifies whether a password is required to unlock BitLocker-protected removable data drives. If you choose to allow use of a password, you can require a password to be used, enforce complexity requirements, and configure a minimum length. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements that you define. To require the use of a password, select "Require password for removable data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Configure use of smart cards on removable data drives - -This policy setting allows you to specify whether smart cards can be used to authenticate user access to BitLocker-protected removable data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on removable data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected removable data drives. If you do not configure this policy setting, smart cards are available to authenticate user access to a BitLocker-protected removable data drive. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Control use of BitLocker on removable drives - -This policy setting controls the use of BitLocker on removable data drives. This policy setting is applied when you turn on BitLocker. When this policy setting is enabled you can select property settings that control how users can configure BitLocker. Choose "Allow users to apply BitLocker protection on removable data drives" to permit the user to run the BitLocker setup wizard on a removable data drive. Choose "Allow users to suspend and decrypt BitLocker on removable data drives" to permit the user to remove BitLocker Drive encryption from the drive or suspend the encryption while maintenance is performed. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information on suspending BitLocker protection. If you do not configure this policy setting, users can use BitLocker on removable disk drives. If you disable this policy setting, users cannot use BitLocker on removable disk drives. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesConfigureBDE](/windows/client-management/mdm/bitlocker-csp#removabledrivesconfigurebde) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Deny write access to removable drives not protected by BitLocker - -This policy setting configures whether BitLocker protection is required for a computer to be able to write data to a removable data drive. If you enable this policy setting, all removable data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If the "Deny write access to devices configured in another organization" option is selected, only drives with identification fields matching the computer's identification fields will be given write access. When a removable data drive is accessed it will be checked for valid identification field and allowed identification fields. These fields are defined by the "Provide the unique identifiers for your organization" policy setting. If you disable or do not configure this policy setting, all removable data drives on the computer will be mounted with read and write access. Note: This policy setting can be overridden by the policy settings under User Configuration\Administrative Templates\System\Removable Storage Access. If the "Removable Disks: Deny write access" policy setting is enabled this policy setting will be ignored. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesrequireencryption) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Enforce drive encryption type on removable data drives - -This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. This policy setting is applied when you turn on BitLocker. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#removabledrivesencryptiontype) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Removable Drives Excluded From Encryption - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesExcludedFromEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesexcludedfromencryption) | -| **GPO** | Not available | - ---- diff --git a/windows/security/operating-system-security/data-protection/bitlocker/settings.md b/windows/security/operating-system-security/data-protection/bitlocker/settings.md new file mode 100644 index 0000000000..36498dd16d --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/settings.md @@ -0,0 +1,468 @@ +--- +title: BitLocker settings +description: Learn about the available settings to configure BitLocker. +ms.collection: + - tier1 +ms.topic: reference +ms.date: 09/19/2023 +--- + +# BitLocker settings list + +[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup) +[Allow network unlock at startup](#allow-network-unlock-at-startup) +[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation) + +This reference article describes the available settings to configure BitLocker via configuration service provider (CSP) and group policy (GPO). + +The list of settings is sorted alphabetically and organized in four tabs: + +- **Common settings** lists the settings that apply to all BitLocker-protected drives +- **Operating system drive** lists the settings applicable to the drive where Windows is installed +- **Fixed data drives** lists the settings applicable to any local drives, except the operating system drive +- **Removable data drives** lists the settings applicable to any removable drives + +> [!IMPORTANT] +> Most of the BitLocker settings are applied when BitLocker is initially turned on for a drive. Encryption isn't restarted if settings change. + +#### [:::image type="icon" source="images/locked-drive.svg"::: **Common settings**](#tab/common) + +The following table lists the BitLocker policies applicable to all drive types, indicating if they're applicable via configuration service provider (CSP) and/or group policy (GPO). Select the policy name for more details. + +|Policy name| CSP | GPO | +|-|-|-| +|[Allow Standard User Encryption](#allow-standard-user-encryption)|✅|❌| +|[Allow Suspension Of BitLocker Protection](#allow-suspension-of-bitlocker-protection)|✅|❌| +|[Choose default folder for recovery password](#choose-default-folder-for-recovery-password)|❌|✅| +|[Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength)|✅|✅| +|[Configure Recovery Password Rotation](#configure-recovery-password-rotation)|✅|❌| +|[Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked)|❌|✅| +|[Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart)|❌|✅| +|[Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization)|✅|✅| +|[Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance)|❌|✅| + +### Allow Standard User Encryption + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)| +| **GPO** | Not available | + +### Allow Suspension Of BitLocker Protection + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection)| +| **GPO** | Not available | + +### Choose default folder for recovery password + +Specify the default path that is displayed when the *BitLocker Drive Encryption setup wizard* prompts the user to enter the location of a folder in which to save the recovery password. You can specify either a fully qualified path or include the target computer's environment variables in the path: + +- If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view +- If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder + +> [!NOTE] +> This policy setting does not prevent the user from saving the recovery password in another folder. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +### Choose drive encryption method and cipher strength + +With this policy you can configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. +Recommended settings: + +- For fixed and operating system drives: XTS-AES algorithm +- For removable drives: AES-CBC 128-bit or AES-CBC 256-bit + +If you disable or do not configure this policy setting, BitLocker uses the default encryption method of XTS-AES 128-bit. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[EncryptionMethodByDriveType](/windows/client-management/mdm/bitlocker-csp#encryptionmethodbydrivetype)| +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +### Configure Recovery Password Rotation + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#configurerecoverypasswordrotation)| +| **GPO** | Not available | + +### Disable new DMA devices when this computer is locked + +This policy setting allows you to block direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +### Prevent memory overwrite on restart +This policy setting controls computer restart performance at the risk of exposing BitLocker secrets. BitLocker secrets include key material used to encrypt data. This policy setting applies only when BitLocker protection is enabled. If you enable this policy setting, memory will not be overwritten when the computer restarts. Preventing memory overwrite may improve restart performance but will increase the risk of exposing BitLocker secrets. If you disable or do not configure this policy setting, BitLocker secrets are removed from memory when the computer restarts. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +### Provide the unique identifiers for your organization +This policy setting allows you to associate unique organizational identifiers to a new drive that is enabled with BitLocker. These identifiers are stored as the identification field and allowed identification field. The identification field allows you to associate a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives and can be updated on existing BitLocker-protected drives using the manage-bde command-line tool. An identification field is required for management of certificate-based data recovery agents on BitLocker-protected drives and for potential updates to the BitLocker To Go Reader. BitLocker will only manage and update data recovery agents when the identification field on the drive matches the value configured in the identification field. In a similar manner, BitLocker will only update the BitLocker To Go Reader when the identification field on the drive matches the value configured for the identification field. The allowed identification field is used in combination with the "Deny write access to removable drives not protected by BitLocker" policy setting to help control the use of removable drives in your organization. It is a comma separated list of identification fields from your organization or other external organizations. You can configure the identification fields on existing drives by using manage-bde.exe. If you enable this policy setting, you can configure the identification field on the BitLocker-protected drive and any allowed identification field used by your organization. When a BitLocker-protected drive is mounted on another BitLocker-enabled computer the identification field and allowed identification field will be used to determine whether the drive is from an outside organization. If you disable or do not configure this policy setting, the identification field is not required. Note: Identification fields are required for management of certificate-based data recovery agents on BitLocker-protected drives. BitLocker will only manage and update certificate-based data recovery agents when the identification field is present on a drive and is identical to the value configured on the computer. The identification field can be any value of 260 characters or fewer. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[IdentificationField](/windows/client-management/mdm/bitlocker-csp#identificationfield) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +### Validate smart card certificate usage rule compliance +This policy setting allows you to associate an object identifier from a smart card certificate to a BitLocker-protected drive. The object identifier is specified in the enhanced key usage (EKU) of a certificate. BitLocker can identify which certificates may be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. Default object identifier is 1.3.6.1.4.1.311.67.1.1 Note: BitLocker does not require that a certificate have an EKU attribute, but if one is configured for the certificate it must be set to an object identifier (OID) that matches the OID configured for BitLocker. If you enable this policy setting, the object identifier specified in the "Object identifier" box must match the object identifier in the smart card certificate. If you disable or do not configure this policy setting, a default object identifier is used. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | + +#### [:::image type="icon" source="images/os-drive.svg"::: **Operating system drive**](#tab/os) + +|Policy name| CSP | GPO | +|-|-|-| +|[Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN](#allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin)|✅|✅| +|[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup)|✅|✅| +|[Allow network unlock at startup](#allow-network-unlock-at-startup)|❌|✅| +|[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation)|❌|✅| +|[Allow Warning For Other Disk Encryption](#allow-warning-for-other-disk-encryption)|✅|❌| +|[Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered)|✅|✅| +|[Configure minimum PIN length for startup](#configure-minimum-pin-length-for-startup)|✅|✅| +|[Configure pre-boot recovery message and URL](#configure-pre-boot-recovery-message-and-url)|✅|✅| +|[Configure TPM platform validation profile for BIOS-based firmware configurations](#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations)|❌|✅| +|[Configure TPM platform validation profile for native UEFI firmware configurations](#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations)|❌|✅| +|[Configure use of hardware-based encryption for operating system drives](#configure-use-of-hardware-based-encryption-for-operating-system-drives)|❌|✅| +|[Configure use of passwords for operating system drives](#configure-use-of-passwords-for-operating-system-drives)|❌|✅| +|[Disallow standard users from changing the PIN or password](#disallow-standard-users-from-changing-the-pin-or-password)|✅|✅| +|[Enable use of BitLocker authentication requiring preboot keyboard input on slates](#enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates)|✅|✅| +|[Enforce drive encryption type on operating system drives](#enforce-drive-encryption-type-on-operating-system-drives)|✅|✅| +|[Require additional authentication at startup](#require-additional-authentication-at-startup)|✅|✅| +|[Require Device Encryption](#require-device-encryption)|✅|❌| +|[Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery)|❌|✅| +|[Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile)|❌|✅| + +### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN + +This policy setting allows users on devices that are compliant with InstantGo or Microsoft Hardware Security Test Interface (HSTI) to not have a PIN for pre-boot authentication. This overrides the *Require startup PIN with TPM* and *Require startup key and PIN with TPM* options of the [*Require additional authentication at startup*](#require-additional-authentication-at-startup) policy on compliant hardware. If you enable this policy setting, users on InstantGo and HSTI compliant devices have the choice to turn on BitLocker without pre-boot authentication. If this policy is not enabled, the options of *Require additional authentication at startup* policy apply. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEnablePreBootPinExceptionOnDECapableDevice](/windows/client-management/mdm/bitlocker-csp#systemdrivesenableprebootpinexceptionondecapabledevice) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Allow enhanced PINs for startup + +This policy setting allows you to configure whether or not enhanced startup PINs are used with BitLocker. Enhanced startup PINs permit the use of characters including uppercase and lowercase letters, symbols, numbers, and spaces. If you enable this policy setting, all new BitLocker startup PINs set will be enhanced PINs. Note: Not all computers may support enhanced PINs in the pre-boot environment. It is strongly recommended that users perform a system check during BitLocker setup. If you disable or do not configure this policy setting, enhanced PINs will not be used. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEnhancedPIN](/windows/client-management/mdm/bitlocker-csp#systemdrivesenhancedpin) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Allow network unlock at startup + +This policy setting controls whether a BitLocker-protected computer that is connected to a trusted wired Local Area Network (LAN) and joined to a domain can create and use Network Key Protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started. If you enable this policy, clients configured with a BitLocker Network Unlock certificate will be able to create and use Network Key Protectors. To use a Network Key Protector to unlock the computer, both the computer and the BitLocker Drive Encryption Network Unlock server must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create Network Key Protectors, and protects the information exchanged with the server to unlock the computer. You can use the group policy setting "Computer Configuration\Windows Settings\Security Settings\Public Key Policies\BitLocker Drive Encryption Network Unlock Certificate" on the domain controller to distribute this certificate to computers in your organization. This unlock method uses the TPM on the computer, so computers that do not have a TPM cannot create Network Key Protectors to automatically unlock with Network Unlock. If you disable or do not configure this policy setting, BitLocker clients will not be able to create and use Network Key Protectors. Note: For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or the server at startup. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Allow Secure Boot for integrity validation + +This policy setting allows you to configure whether Secure Boot will be allowed as the platform integrity provider for BitLocker operating system drives. Secure Boot ensures that the PC's pre-boot environment only loads firmware that is digitally signed by authorized software publishers. Secure Boot also provides more flexibility for managing pre-boot configuration than legacy BitLocker integrity checks. If you enable or do not configure this policy setting, BitLocker will use Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation. If you disable this policy setting, BitLocker will use legacy platform integrity validation, even on systems capable of Secure Boot-based integrity validation. When this policy is enabled and the hardware is capable of using Secure Boot for BitLocker scenarios, the "Use enhanced Boot Configuration Data validation profile" group policy setting is ignored and Secure Boot verifies BCD settings according to the Secure Boot policy setting, which is configured separately from BitLocker. Note: If the group policy setting "Configure TPM platform validation profile for native UEFI firmware configurations" is enabled and has PCR 7 omitted, Bitlocker will be prevented from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Warning: Disabling this policy may result in BitLocker recovery when firmware is updated. If you disable this policy, suspend BitLocker prior to applying firmware updates. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Allow Warning For Other Disk Encryption + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#allowwarningforotherdiskencryption) | +| **GPO** | Not available | + +### Choose how BitLocker-protected operating system drives can be recovered + +This policy setting allows you to control how BitLocker-protected operating system drives are recovered in the absence of the required startup key information. The "Allow certificate-based data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected operating system drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services", choose which BitLocker recovery information to store in AD DS for operating system drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected operating system drives. If this policy setting is disabled or not configured, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesRecoveryOptions](/windows/client-management/mdm/bitlocker-csp#systemdrivesrecoveryoptions)| +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure minimum PIN length for startup + +This policy setting allows you to configure a minimum length for a Trusted Platform Module (TPM) startup PIN. The startup PIN must have a minimum length of 4 digits and can have a maximum length of 20 digits. If you enable this policy setting, you can require a minimum number of digits to be used when setting the startup PIN. If you disable or do not configure this policy setting, users can configure a startup PIN of any length between 6 and 20 digits. NOTE: If minimum PIN length is set below 6 digits, Windows will attempt to update the TPM 2.0 lockout period to be greater than the default when a PIN is changed. If successful, Windows will only reset the TPM lockout period back to default if the TPM is reset. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesMinimumPINLength](/windows/client-management/mdm/bitlocker-csp#systemdrivesminimumpinlength) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure pre-boot recovery message and URL + +This policy setting lets you configure the entire recovery message or replace the existing URL that are displayed on the pre-boot key recovery screen when the OS drive is locked. If you select the "Use default recovery message and URL" option, the default BitLocker recovery message and URL will be displayed in the pre-boot key recovery screen. If you have previously configured a custom recovery message or URL and want to revert to the default message, you must keep the policy enabled and select the "Use default recovery message and URL" option. If you select the "Use custom recovery message" option, the message you type in the "Custom recovery message option" text box will be displayed in the pre-boot key recovery screen. If a recovery URL is available, include it in the message. If you select the "Use custom recovery URL" option, the URL you type in the "Custom recovery URL option" text box will replace the default URL in the default recovery message, which will be displayed in the pre-boot key recovery screen. Note: Not all characters and languages are supported in pre-boot. It is strongly recommended that you test that the characters you use for the custom message or URL appear correctly on the pre-boot recovery screen. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesRecoveryMessage](/windows/client-management/mdm/bitlocker-csp#systemdrivesrecoverymessage) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure TPM platform validation profile for BIOS-based firmware configurations + +This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with BIOS configurations or to computers with UEFI firmware with a Compatibility Service Module (CSM) enabled. Computers using a native UEFI firmware configuration store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for native UEFI firmware configurations" group policy setting to configure the TPM PCR profile for computers using native UEFI firmware. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0), the Option ROM Code (PCR 2), the Master Boot Record (MBR) Code (PCR 4), the NTFS Boot Sector (PCR 8), the NTFS Boot Block (PCR 9), the Boot Manager (PCR 10), and the BitLocker Access Control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure TPM platform validation profile for native UEFI firmware configurations + +This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Service Module (CSM) enabled store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for BIOS-based firmware configurations" group policy setting to configure the TPM PCR profile for computers with BIOS configurations or computers with UEFI firmware with a CSM enabled. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile for the available hardware or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. On PCs that lack Secure Boot State (PCR 7) support, the default platform validation profile secures the encryption key against changes to the core system firmware executable code (PCR 0), extended or pluggable executable code (PCR 2), boot manager (PCR 4), and the BitLocker access control (PCR 11). When Secure Boot State (PCR7) support is available, the default platform validation profile secures the encryption key using Secure Boot State (PCR 7) and the BitLocker access control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. Specifically, setting this policy with PCR 7 omitted, will override the "Allow Secure Boot for integrity validation" group policy, preventing BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Setting this policy may result in BitLocker recovery when firmware is updated. If you set this policy to include PCR 0, suspend BitLocker prior to applying firmware updates. It is recommended to not configure this policy, to allow Windows to select the PCR profile for the best combination of security and usability based on the available hardware on each PC. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure use of hardware-based encryption for operating system drives + +This policy setting allows you to manage BitLocker's use of hardware-based encryption on operating system drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Configure use of passwords for operating system drives + +This policy setting specifies the constraints for passwords used to unlock BitLocker-protected operating system drives. If non-TPM protectors are allowed on operating system drives, you can provision a password, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable or do not configure this policy setting, the default length constraint of 8 characters will apply to operating system drive passwords and no complexity checks will occur. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Disallow standard users from changing the PIN or password + +This policy setting allows you to configure whether or not standard users are allowed to change BitLocker volume PINs, provided they are able to provide the existing PIN first. If you enable this policy setting, standard users will not be allowed to change BitLocker PINs or passwords. If you disable or do not configure this policy setting, standard users will be permitted to change BitLocker PINs and passwords. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesDisallowStandardUsersCanChangePIN](/windows/client-management/mdm/bitlocker-csp#systemdrivesdisallowstandarduserscanchangepin) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Enable use of BitLocker authentication requiring preboot keyboard input on slates + +This policy setting allows users to turn on authentication options that require user input from the pre-boot environment, even if the platform lacks pre-boot input capability. The Windows touch keyboard (such as that used by tablets) isn't available in the pre-boot environment where BitLocker requires additional information such as a PIN or Password. If you enable this policy setting, devices must have an alternative means of pre-boot input (such as an attached USB keyboard). If this policy is not enabled, the Windows Recovery Environment must be enabled on tablets to support the entry of the BitLocker recovery password. When the Windows Recovery Environment is not enabled and this policy is not enabled, you cannot turn on BitLocker on a device that uses the Windows touch keyboard. Note that if you do not enable this policy setting, options in the "Require additional authentication at startup" policy might not be available on such devices. These options include: - Configure TPM startup PIN: Required/Allowed - Configure TPM startup key and PIN: Required/Allowed - Configure use of passwords for operating system drives. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEnablePrebootInputProtectorsOnSlates](/windows/client-management/mdm/bitlocker-csp#systemdrivesenableprebootinputprotectorsonslates) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Enforce drive encryption type on operating system drives + +This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#systemdrivesencryptiontype) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Require additional authentication at startup + +This policy setting allows you to configure whether BitLocker requires additional authentication each time the computer starts and whether you are using BitLocker with or without a Trusted Platform Module (TPM). Note: Only one of the additional authentication options can be required at startup, otherwise a policy error occurs. If you want to use BitLocker on a computer without a TPM, select the "Allow BitLocker without a compatible TPM" check box. In this mode either a password or a USB drive is required for start-up. When using a startup key, the key information used to encrypt the drive is stored on the USB drive, creating a USB key. When the USB key is inserted the access to the drive is authenticated and the drive is accessible. If the USB key is lost or unavailable or if you have forgotten the password then you will need to use one of the BitLocker recovery options to access the drive. On a computer with a compatible TPM, four types of authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can use only the TPM for authentication, or it can also require insertion of a USB flash drive containing a startup key, the entry of a 6-digit to 20-digit personal identification number (PIN), or both. If you enable this policy setting, users can configure advanced startup options in the BitLocker setup wizard. If you disable or do not configure this policy setting, users can configure only basic options on computers with a TPM. Note: If you want to require the use of a startup PIN and a USB flash drive, you must configure BitLocker settings using the command-line tool manage-bde instead of the BitLocker Drive Encryption setup wizard. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesRequireStartupAuthentication](/windows/client-management/mdm/bitlocker-csp#systemdrivesrequirestartupauthentication) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Require Device Encryption + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RequireDeviceEncryption](/windows/client-management/mdm/bitlocker-csp#requiredeviceencryption) | +| **GPO** | Not available | + +### Reset platform validation data after BitLocker recovery + +This policy setting allows you to control whether or not platform validation data is refreshed when Windows is started following BitLocker recovery. If you enable this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. If you disable this policy setting, platform validation data will not be refreshed when Windows is started following BitLocker recovery. If you do not configure this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +### Use enhanced Boot Configuration Data validation profile + +This policy setting allows you to choose specific Boot Configuration Data (BCD) settings to verify during platform validation. If you enable this policy setting, you will be able to add additional settings, remove the default settings, or both. If you disable this policy setting, the computer will revert to a BCD profile similar to the default BCD profile used by Windows 7. If you do not configure this policy setting, the computer will verify the default Windows BCD settings. Note: When BitLocker is using Secure Boot for platform and Boot Configuration Data (BCD) integrity validation, as defined by the "Allow Secure Boot for integrity validation" group policy, the "Use enhanced Boot Configuration Data validation profile" group policy is ignored. The setting that controls boot debugging (0x16000010) will always be validated and will have no effect if it is included in the provided fields. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | + +#### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drives**](#tab/fixed) + +|Policy name| CSP | GPO | +|-|-|-| +|[Choose how BitLocker-protected fixed drives can be recovered](#choose-how-bitlocker-protected-fixed-drives-can-be-recovered)|✅|✅| +|[Configure use of hardware-based encryption for fixed data drives](#configure-use-of-hardware-based-encryption-for-fixed-data-drives)|❌|✅| +|[Configure use of passwords for fixed data drives](#configure-use-of-passwords-for-fixed-data-drives)|❌|✅| +|[Configure use of smart cards on fixed data drives](#configure-use-of-smart-cards-on-fixed-data-drives)|❌|✅| +|[Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker)|✅|✅| +|[Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives)|✅|✅| + +### Choose how BitLocker-protected fixed drives can be recovered + +This policy setting allows you to control how BitLocker-protected fixed data drives are recovered in the absence of the required credentials. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected fixed data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for fixed data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected fixed data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[FixedDrivesRecoveryOptions](/windows/client-management/mdm/bitlocker-csp#fixeddrivesrecoveryoptions) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | + +### Configure use of hardware-based encryption for fixed data drives + +This policy setting allows you to manage BitLocker's use of hardware-based encryption on fixed data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | + +### Configure use of passwords for fixed data drives + +This policy setting specifies whether a password is required to unlock BitLocker-protected fixed data drives. If you choose to permit the use of a password, you can require that a password be used, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To require the use of a password, select "Require password for fixed data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | + +### Configure use of smart cards on fixed data drives + +This policy setting allows you to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on fixed data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected fixed data drives. If you do not configure this policy setting, smart cards can be used to authenticate user access to a BitLocker-protected drive. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | + +### Deny write access to fixed drives not protected by BitLocker + +This policy setting determines whether BitLocker protection is required for fixed data drives to be writable on a computer. If you enable this policy setting, all fixed data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If you disable or do not configure this policy setting, all fixed data drives on the computer will be mounted with read and write access. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[FixedDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#fixeddrivesrequireencryption) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | + +### Enforce drive encryption type on fixed data drives + +This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + +| | Path | +|--|--| +| **CSP** | ``./Device/Vendor/MSFT/BitLocker/`[FixedDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#fixeddrivesencryptiontype) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | + +#### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drives**](#tab/removable) + +|Policy name| CSP | GPO | +|-|-|-| +|[Choose how BitLocker-protected removable drives can be recovered](#choose-how-bitlocker-protected-removable-drives-can-be-recovered)|❌|✅| +|[Configure use of hardware-based encryption for removable data drives](#configure-use-of-hardware-based-encryption-for-removable-data-drives)|❌|✅| +|[Configure use of passwords for removable data drives](#configure-use-of-passwords-for-removable-data-drives)|❌|✅| +|[Configure use of smart cards on removable data drives](#configure-use-of-smart-cards-on-removable-data-drives)|❌|✅| +|[Control use of BitLocker on removable drives](#control-use-of-bitlocker-on-removable-drives)|✅|✅| +|[Deny write access to removable drives not protected by BitLocker](#deny-write-access-to-removable-drives-not-protected-by-bitlocker)|✅|✅| +|[Enforce drive encryption type on removable data drives](#enforce-drive-encryption-type-on-removable-data-drives)|✅|✅| +|[Removable Drives Excluded From Encryption](#removable-drives-excluded-from-encryption)|✅|❌| + + +### Choose how BitLocker-protected removable drives can be recovered + +This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | + +### Configure use of hardware-based encryption for removable data drives + +This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | + +### Configure use of passwords for removable data drives + +This policy setting specifies whether a password is required to unlock BitLocker-protected removable data drives. If you choose to allow use of a password, you can require a password to be used, enforce complexity requirements, and configure a minimum length. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements that you define. To require the use of a password, select "Require password for removable data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | + +### Configure use of smart cards on removable data drives + +This policy setting allows you to specify whether smart cards can be used to authenticate user access to BitLocker-protected removable data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on removable data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected removable data drives. If you do not configure this policy setting, smart cards are available to authenticate user access to a BitLocker-protected removable data drive. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | + +### Control use of BitLocker on removable drives + +This policy setting controls the use of BitLocker on removable data drives. When this policy setting is enabled you can select property settings that control how users can configure BitLocker. Choose "Allow users to apply BitLocker protection on removable data drives" to permit the user to run the BitLocker setup wizard on a removable data drive. Choose "Allow users to suspend and decrypt BitLocker on removable data drives" to permit the user to remove BitLocker Drive encryption from the drive or suspend the encryption while maintenance is performed. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information on suspending BitLocker protection. If you do not configure this policy setting, users can use BitLocker on removable disk drives. If you disable this policy setting, users cannot use BitLocker on removable disk drives. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesConfigureBDE](/windows/client-management/mdm/bitlocker-csp#removabledrivesconfigurebde) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | + +### Deny write access to removable drives not protected by BitLocker + +This policy setting configures whether BitLocker protection is required for a computer to be able to write data to a removable data drive. If you enable this policy setting, all removable data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If the "Deny write access to devices configured in another organization" option is selected, only drives with identification fields matching the computer's identification fields will be given write access. When a removable data drive is accessed it will be checked for valid identification field and allowed identification fields. These fields are defined by the "Provide the unique identifiers for your organization" policy setting. If you disable or do not configure this policy setting, all removable data drives on the computer will be mounted with read and write access. Note: This policy setting can be overridden by the policy settings under User Configuration\Administrative Templates\System\Removable Storage Access. If the "Removable Disks: Deny write access" policy setting is enabled this policy setting will be ignored. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesrequireencryption) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | + +### Enforce drive encryption type on removable data drives + +This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#removabledrivesencryptiontype) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | + +### Removable Drives Excluded From Encryption + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesExcludedFromEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesexcludedfromencryption) | +| **GPO** | Not available | + +--- From 059a8986cfc3bc5ba497c0f7511e509c52e6a283 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sat, 23 Sep 2023 18:26:33 -0400 Subject: [PATCH 026/505] updates --- .../data-protection/bitlocker/settings.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/settings.md b/windows/security/operating-system-security/data-protection/bitlocker/settings.md index 36498dd16d..772bc171c9 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/settings.md @@ -9,10 +9,6 @@ ms.date: 09/19/2023 # BitLocker settings list -[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup) -[Allow network unlock at startup](#allow-network-unlock-at-startup) -[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation) - This reference article describes the available settings to configure BitLocker via configuration service provider (CSP) and group policy (GPO). The list of settings is sorted alphabetically and organized in four tabs: From f5696fda5d26c26f17e1677b63556bb12eb2a24c Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sun, 24 Sep 2023 08:03:07 -0400 Subject: [PATCH 027/505] moving to includes --- .../bitlocker-group-policy-settings.md | 52 ------------------- .../allow-standard-user-encryption.md | 13 +++++ ...llow-suspension-of-bitlocker-protection.md | 13 +++++ ...se-default-folder-for-recovery-password.md | 21 ++++++++ .../{settings.md => policy-settings.md} | 50 ++++++------------ 5 files changed, 62 insertions(+), 87 deletions(-) create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/choose-default-folder-for-recovery-password.md rename windows/security/operating-system-security/data-protection/bitlocker/{settings.md => policy-settings.md} (96%) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md index ec85726d22..940866d11b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md @@ -496,37 +496,6 @@ The options for choosing property settings that control how users can configure - **Allow users to suspend and decrypt BitLocker on removable data drives** Enables the user to remove BitLocker from the drive or to suspend the encryption while performing maintenance. -### Choose drive encryption method and cipher strength - -This policy setting is used to control the encryption method and cipher strength. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled the encryption method and strength for drives.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|All drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|An encryption algorithm and key cipher strength for BitLocker can be chosen to use to encrypt drives.| -|**When disabled or not configured**|Beginning with Windows 10, version 1511, BitLocker uses the default encryption method of XTS-AES 128-bit or the encryption method that is specified by the setup script. - -#### Reference: Choose drive encryption method and cipher strength - -The values of this policy determine the strength of the cipher that BitLocker uses for encryption. Enterprises may want to control the encryption level for increased security (AES-256 is stronger than AES-128). - -If this setting is enabled, it can be configured an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. - -- For fixed and operating system drives, it's recommended to use the XTS-AES algorithm. - -- For removable drives, AES-CBC 128-bit or AES-CBC 256-bit should be used if the drive will be used in other devices that aren't running Windows 10, version 1511 or later. - -Changing the encryption method has no effect if the drive is already encrypted or if encryption is in progress. In these cases, this policy setting is ignored. - -> [!WARNING] -> This policy doesn't apply to encrypted drives. Encrypted drives utilize their own algorithm, which is set by the drive during partitioning. - -When this policy setting is disabled or not configured, BitLocker will use the default encryption method of XTS-AES 128-bit or the encryption method that is specified in the setup script. - ### Configure use of hardware-based encryption for fixed data drives This policy controls how BitLocker reacts to systems that are equipped with encrypted drives when they're used as fixed data volumes. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. @@ -772,27 +741,6 @@ TPM initialization might be needed during the BitLocker setup. Enable the **Turn For more information about this setting, see [TPM Group Policy settings](/windows/device-security/tpm/trusted-platform-module-services-group-policy-settings). -### Choose default folder for recovery password - -This policy setting is used to configure the default folder for recovery passwords. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, the default path that is displayed when the BitLocker Setup Wizard prompts the user to enter the location of a folder in which to save the recovery password can be specified.| -|**Introduced**|Windows Vista| -|**Drive type**|All drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|The path that will be used as the default folder location when the user chooses the option to save the recovery password in a folder can be specified. A fully qualified path can be specified. The target computer's environment variables can also be included in the path. If the path isn't valid, the BitLocker Setup Wizard displays the computer's top-level folder view.| -|**When disabled or not configured**|The BitLocker Setup Wizard displays the computer's top-level folder view when the user chooses the option to save the recovery password in a folder.| - -#### Reference: Choose default folder for recovery password - -This policy setting is applied when BitLocker is turned on. - -> [!NOTE] -> This policy setting doesn't prevent the user from saving the recovery password in another folder. - ### Choose how BitLocker-protected fixed drives can be recovered This policy setting is used to configure recovery methods for fixed data drives. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md new file mode 100644 index 0000000000..ae559c51e2 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md @@ -0,0 +1,13 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Allow Standard User Encryption + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)| +| **GPO** | Not available | \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md new file mode 100644 index 0000000000..719c31742b --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md @@ -0,0 +1,13 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Allow suspension of BitLocker protection + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection)| +| **GPO** | Not available | \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-default-folder-for-recovery-password.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-default-folder-for-recovery-password.md new file mode 100644 index 0000000000..0c7954f4c4 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-default-folder-for-recovery-password.md @@ -0,0 +1,21 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Choose default folder for recovery password + +Specify the default path that is displayed when the *BitLocker Drive Encryption setup wizard* prompts the user to enter the location of a folder in which to save the recovery password. You can specify either a fully qualified path or include the target computer's environment variables in the path: + +- If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view +- If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder + +> [!NOTE] +> This policy setting does not prevent the user from saving the recovery password in another folder. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md similarity index 96% rename from windows/security/operating-system-security/data-protection/bitlocker/settings.md rename to windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 772bc171c9..1876b62a56 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -1,22 +1,22 @@ --- -title: BitLocker settings -description: Learn about the available settings to configure BitLocker. +title: BitLocker policy settings +description: Learn about the policy settings to configure BitLocker. ms.collection: - tier1 ms.topic: reference ms.date: 09/19/2023 --- -# BitLocker settings list +# BitLocker policy settings -This reference article describes the available settings to configure BitLocker via configuration service provider (CSP) and group policy (GPO). +This reference article describes the policy settings to configure BitLocker via configuration service provider (CSP) and group policy (GPO). The list of settings is sorted alphabetically and organized in four tabs: -- **Common settings** lists the settings that apply to all BitLocker-protected drives -- **Operating system drive** lists the settings applicable to the drive where Windows is installed -- **Fixed data drives** lists the settings applicable to any local drives, except the operating system drive -- **Removable data drives** lists the settings applicable to any removable drives +- **Common settings**: settings applicable to all BitLocker-protected drives +- **Operating system drive**: settings applicable to the drive where Windows is installed +- **Fixed data drives**: settings applicable to any local drives, except the operating system drive +- **Removable data drives**: settings applicable to any removable drives > [!IMPORTANT] > Most of the BitLocker settings are applied when BitLocker is initially turned on for a drive. Encryption isn't restarted if settings change. @@ -37,34 +37,11 @@ The following table lists the BitLocker policies applicable to all drive types, |[Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization)|✅|✅| |[Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance)|❌|✅| -### Allow Standard User Encryption +[!INCLUDE [allow-standard-user-encryption](includes/allow-standard-user-encryption.md)] -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)| -| **GPO** | Not available | +[!INCLUDE [allow-suspension-of-bitlocker-protection](includes/allow-suspension-of-bitlocker-protection.md)] -### Allow Suspension Of BitLocker Protection - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection)| -| **GPO** | Not available | - -### Choose default folder for recovery password - -Specify the default path that is displayed when the *BitLocker Drive Encryption setup wizard* prompts the user to enter the location of a folder in which to save the recovery password. You can specify either a fully qualified path or include the target computer's environment variables in the path: - -- If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view -- If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder - -> [!NOTE] -> This policy setting does not prevent the user from saving the recovery password in another folder. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | +[!INCLUDE [choose-default-folder-for-recovery-password](includes/choose-default-folder-for-recovery-password.md)] ### Choose drive encryption method and cipher strength @@ -76,6 +53,9 @@ Recommended settings: If you disable or do not configure this policy setting, BitLocker uses the default encryption method of XTS-AES 128-bit. +> [!WARNING] +> This policy doesn't apply to encrypted drives. Encrypted drives utilize their own algorithm, which is set by the drive during partitioning. + | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[EncryptionMethodByDriveType](/windows/client-management/mdm/bitlocker-csp#encryptionmethodbydrivetype)| @@ -85,7 +65,7 @@ If you disable or do not configure this policy setting, BitLocker uses the defau | | Path | |--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#configurerecoverypasswordrotation)| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[ConfigureRecoveryPasswordRotation](/windows/client-management/mdm/bitlocker-csp#configurerecoverypasswordrotation)| | **GPO** | Not available | ### Disable new DMA devices when this computer is locked From ee56ae5d3263f9674957d2c0c1411f99237b4048 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sun, 24 Sep 2023 09:09:20 -0400 Subject: [PATCH 028/505] moving to includes --- ...ntgo-or-hsti-to-opt-out-of-pre-boot-pin.md | 16 + .../allow-enhanced-pins-for-startup.md | 15 + .../allow-network-unlock-at-startup.md | 15 + ...ow-secure-boot-for-integrity-validation.md | 15 + ...allow-warning-for-other-disk-encryption.md | 13 + ...e-encryption-method-and-cipher-strength.md | 25 ++ ...protected-fixed-drives-can-be-recovered.md | 15 + ...perating-system-drives-can-be-recovered.md | 15 + ...ected-removable-drives-can-be-recovered.md | 15 + ...onfigure-minimum-pin-length-for-startup.md | 15 + ...igure-pre-boot-recovery-message-and-url.md | 15 + .../configure-recovery-password-rotation.md | 13 + ...-for-bios-based-firmware-configurations.md | 15 + ...for-native-uefi-firmware-configurations.md | 15 + ...-based-encryption-for-fixed-data-drives.md | 15 + ...-encryption-for-operating-system-drives.md | 15 + ...ed-encryption-for-removable-data-drives.md | 15 + ...-use-of-passwords-for-fixed-data-drives.md | 15 + ...f-passwords-for-operating-system-drives.md | 15 + ...-of-passwords-for-removable-data-drives.md | 15 + ...use-of-smart-cards-on-fixed-data-drives.md | 15 + ...of-smart-cards-on-removable-data-drives.md | 15 + ...ol-use-of-bitlocker-on-removable-drives.md | 15 + ...fixed-drives-not-protected-by-bitlocker.md | 16 + ...vable-drives-not-protected-by-bitlocker.md | 15 + ...ma-devices-when-this-computer-is-locked.md | 15 + ...users-from-changing-the-pin-or-password.md | 15 + ...uiring-preboot-keyboard-input-on-slates.md | 15 + ...ve-encryption-type-on-fixed-data-drives.md | 15 + ...ryption-type-on-operating-system-drives.md | 15 + ...ncryption-type-on-removable-data-drives.md | 15 + .../prevent-memory-overwrite-on-restart.md | 14 + ...nique-identifiers-for-your-organization.md | 15 + ...movable-drives-excluded-from-encryption.md | 13 + ...re-additional-authentication-at-startup.md | 15 + .../includes/require-device-encryption.md | 13 + ...alidation-data-after-bitlocker-recovery.md | 15 + ...t-configuration-data-validation-profile.md | 15 + ...-card-certificate-usage-rule-compliance.md | 15 + .../bitlocker/policy-settings.md | 388 ++---------------- 40 files changed, 627 insertions(+), 349 deletions(-) create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/allow-enhanced-pins-for-startup.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/allow-warning-for-other-disk-encryption.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-fixed-drives-can-be-recovered.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-operating-system-drives-can-be-recovered.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-removable-drives-can-be-recovered.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-fixed-data-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-operating-system-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-removable-data-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-fixed-data-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-removable-data-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/control-use-of-bitlocker-on-removable-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-removable-drives-not-protected-by-bitlocker.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/prevent-memory-overwrite-on-restart.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/removable-drives-excluded-from-encryption.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/validate-smart-card-certificate-usage-rule-compliance.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md new file mode 100644 index 0000000000..44cd6e06d2 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md @@ -0,0 +1,16 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + + +### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN + +This policy setting allows users on devices that are compliant with InstantGo or Microsoft Hardware Security Test Interface (HSTI) to not have a PIN for pre-boot authentication. This overrides the *Require startup PIN with TPM* and *Require startup key and PIN with TPM* options of the [*Require additional authentication at startup*](#require-additional-authentication-at-startup) policy on compliant hardware. If you enable this policy setting, users on InstantGo and HSTI compliant devices have the choice to turn on BitLocker without pre-boot authentication. If this policy is not enabled, the options of *Require additional authentication at startup* policy apply. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEnablePreBootPinExceptionOnDECapableDevice](/windows/client-management/mdm/bitlocker-csp#systemdrivesenableprebootpinexceptionondecapabledevice) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-enhanced-pins-for-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-enhanced-pins-for-startup.md new file mode 100644 index 0000000000..1b5e18ac5e --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-enhanced-pins-for-startup.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Allow enhanced PINs for startup + +This policy setting allows you to configure whether or not enhanced startup PINs are used with BitLocker. Enhanced startup PINs permit the use of characters including uppercase and lowercase letters, symbols, numbers, and spaces. If you enable this policy setting, all new BitLocker startup PINs set will be enhanced PINs. Note: Not all computers may support enhanced PINs in the pre-boot environment. It is strongly recommended that users perform a system check during BitLocker setup. If you disable or do not configure this policy setting, enhanced PINs will not be used. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEnhancedPIN](/windows/client-management/mdm/bitlocker-csp#systemdrivesenhancedpin) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md new file mode 100644 index 0000000000..09c7b303dd --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Allow network unlock at startup + +This policy setting controls whether a BitLocker-protected computer that is connected to a trusted wired Local Area Network (LAN) and joined to a domain can create and use Network Key Protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started. If you enable this policy, clients configured with a BitLocker Network Unlock certificate will be able to create and use Network Key Protectors. To use a Network Key Protector to unlock the computer, both the computer and the BitLocker Drive Encryption Network Unlock server must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create Network Key Protectors, and protects the information exchanged with the server to unlock the computer. You can use the group policy setting "Computer Configuration\Windows Settings\Security Settings\Public Key Policies\BitLocker Drive Encryption Network Unlock Certificate" on the domain controller to distribute this certificate to computers in your organization. This unlock method uses the TPM on the computer, so computers that do not have a TPM cannot create Network Key Protectors to automatically unlock with Network Unlock. If you disable or do not configure this policy setting, BitLocker clients will not be able to create and use Network Key Protectors. Note: For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or the server at startup. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md new file mode 100644 index 0000000000..4c452c0e37 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Allow Secure Boot for integrity validation + +This policy setting allows you to configure whether Secure Boot will be allowed as the platform integrity provider for BitLocker operating system drives. Secure Boot ensures that the PC's pre-boot environment only loads firmware that is digitally signed by authorized software publishers. Secure Boot also provides more flexibility for managing pre-boot configuration than legacy BitLocker integrity checks. If you enable or do not configure this policy setting, BitLocker will use Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation. If you disable this policy setting, BitLocker will use legacy platform integrity validation, even on systems capable of Secure Boot-based integrity validation. When this policy is enabled and the hardware is capable of using Secure Boot for BitLocker scenarios, the "Use enhanced Boot Configuration Data validation profile" group policy setting is ignored and Secure Boot verifies BCD settings according to the Secure Boot policy setting, which is configured separately from BitLocker. Note: If the group policy setting "Configure TPM platform validation profile for native UEFI firmware configurations" is enabled and has PCR 7 omitted, Bitlocker will be prevented from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Warning: Disabling this policy may result in BitLocker recovery when firmware is updated. If you disable this policy, suspend BitLocker prior to applying firmware updates. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-warning-for-other-disk-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-warning-for-other-disk-encryption.md new file mode 100644 index 0000000000..46316add2e --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-warning-for-other-disk-encryption.md @@ -0,0 +1,13 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Allow warning for other disk encryption + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#allowwarningforotherdiskencryption) | +| **GPO** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md new file mode 100644 index 0000000000..88ccec14b7 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md @@ -0,0 +1,25 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Choose drive encryption method and cipher strength + +With this policy you can configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. + +Recommended settings: + +- For fixed and operating system drives: `XTS-AES` algorithm +- For removable drives: `AES-CBC 128-bit` or `AES-CBC 256-bit` + +If you disable or do not configure this policy setting, BitLocker uses the default encryption method of `XTS-AES 128-bit`. + +> [!WARNING] +> This policy doesn't apply to encrypted drives. Encrypted drives utilize their own algorithm, which is set by the drive during partitioning. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[EncryptionMethodByDriveType](/windows/client-management/mdm/bitlocker-csp#encryptionmethodbydrivetype)| +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-fixed-drives-can-be-recovered.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-fixed-drives-can-be-recovered.md new file mode 100644 index 0000000000..38a0dfca88 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-fixed-drives-can-be-recovered.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Choose how BitLocker-protected fixed drives can be recovered + +This policy setting allows you to control how BitLocker-protected fixed data drives are recovered in the absence of the required credentials. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected fixed data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for fixed data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected fixed data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[FixedDrivesRecoveryOptions](/windows/client-management/mdm/bitlocker-csp#fixeddrivesrecoveryoptions) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-operating-system-drives-can-be-recovered.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-operating-system-drives-can-be-recovered.md new file mode 100644 index 0000000000..1d3619cc92 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-operating-system-drives-can-be-recovered.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Choose how BitLocker-protected operating system drives can be recovered + +This policy setting allows you to control how BitLocker-protected operating system drives are recovered in the absence of the required startup key information. The "Allow certificate-based data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected operating system drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services", choose which BitLocker recovery information to store in AD DS for operating system drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected operating system drives. If this policy setting is disabled or not configured, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesRecoveryOptions](/windows/client-management/mdm/bitlocker-csp#systemdrivesrecoveryoptions)| +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-removable-drives-can-be-recovered.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-removable-drives-can-be-recovered.md new file mode 100644 index 0000000000..d57b2cf95b --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-removable-drives-can-be-recovered.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Choose how BitLocker-protected removable drives can be recovered + +This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md new file mode 100644 index 0000000000..af4e47bf45 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure minimum PIN length for startup + +This policy setting allows you to configure a minimum length for a Trusted Platform Module (TPM) startup PIN. The startup PIN must have a minimum length of 4 digits and can have a maximum length of 20 digits. If you enable this policy setting, you can require a minimum number of digits to be used when setting the startup PIN. If you disable or do not configure this policy setting, users can configure a startup PIN of any length between 6 and 20 digits. NOTE: If minimum PIN length is set below 6 digits, Windows will attempt to update the TPM 2.0 lockout period to be greater than the default when a PIN is changed. If successful, Windows will only reset the TPM lockout period back to default if the TPM is reset. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesMinimumPINLength](/windows/client-management/mdm/bitlocker-csp#systemdrivesminimumpinlength) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md new file mode 100644 index 0000000000..97e6ec2e34 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure pre-boot recovery message and URL + +This policy setting lets you configure the entire recovery message or replace the existing URL that are displayed on the pre-boot key recovery screen when the OS drive is locked. If you select the "Use default recovery message and URL" option, the default BitLocker recovery message and URL will be displayed in the pre-boot key recovery screen. If you have previously configured a custom recovery message or URL and want to revert to the default message, you must keep the policy enabled and select the "Use default recovery message and URL" option. If you select the "Use custom recovery message" option, the message you type in the "Custom recovery message option" text box will be displayed in the pre-boot key recovery screen. If a recovery URL is available, include it in the message. If you select the "Use custom recovery URL" option, the URL you type in the "Custom recovery URL option" text box will replace the default URL in the default recovery message, which will be displayed in the pre-boot key recovery screen. Note: Not all characters and languages are supported in pre-boot. It is strongly recommended that you test that the characters you use for the custom message or URL appear correctly on the pre-boot recovery screen. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesRecoveryMessage](/windows/client-management/mdm/bitlocker-csp#systemdrivesrecoverymessage) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md new file mode 100644 index 0000000000..1ca8c4e414 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md @@ -0,0 +1,13 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure recovery password rotation + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[ConfigureRecoveryPasswordRotation](/windows/client-management/mdm/bitlocker-csp#configurerecoverypasswordrotation)| +| **GPO** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations.md new file mode 100644 index 0000000000..551febb938 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure TPM platform validation profile for BIOS-based firmware configurations + +This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with BIOS configurations or to computers with UEFI firmware with a Compatibility Service Module (CSM) enabled. Computers using a native UEFI firmware configuration store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for native UEFI firmware configurations" group policy setting to configure the TPM PCR profile for computers using native UEFI firmware. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0), the Option ROM Code (PCR 2), the Master Boot Record (MBR) Code (PCR 4), the NTFS Boot Sector (PCR 8), the NTFS Boot Block (PCR 9), the Boot Manager (PCR 10), and the BitLocker Access Control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md new file mode 100644 index 0000000000..a1e9bf04b8 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure TPM platform validation profile for native UEFI firmware configurations + +This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Service Module (CSM) enabled store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for BIOS-based firmware configurations" group policy setting to configure the TPM PCR profile for computers with BIOS configurations or computers with UEFI firmware with a CSM enabled. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile for the available hardware or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. On PCs that lack Secure Boot State (PCR 7) support, the default platform validation profile secures the encryption key against changes to the core system firmware executable code (PCR 0), extended or pluggable executable code (PCR 2), boot manager (PCR 4), and the BitLocker access control (PCR 11). When Secure Boot State (PCR7) support is available, the default platform validation profile secures the encryption key using Secure Boot State (PCR 7) and the BitLocker access control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. Specifically, setting this policy with PCR 7 omitted, will override the "Allow Secure Boot for integrity validation" group policy, preventing BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Setting this policy may result in BitLocker recovery when firmware is updated. If you set this policy to include PCR 0, suspend BitLocker prior to applying firmware updates. It is recommended to not configure this policy, to allow Windows to select the PCR profile for the best combination of security and usability based on the available hardware on each PC. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-fixed-data-drives.md new file mode 100644 index 0000000000..5d6f045ace --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-fixed-data-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure use of hardware-based encryption for fixed data drives + +This policy setting allows you to manage BitLocker's use of hardware-based encryption on fixed data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-operating-system-drives.md new file mode 100644 index 0000000000..e6ff8195ac --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-operating-system-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure use of hardware-based encryption for operating system drives + +This policy setting allows you to manage BitLocker's use of hardware-based encryption on operating system drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-removable-data-drives.md new file mode 100644 index 0000000000..c3b2c7e211 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-removable-data-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure use of hardware-based encryption for removable data drives + +This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md new file mode 100644 index 0000000000..ba5c268c69 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure use of passwords for fixed data drives + +This policy setting specifies whether a password is required to unlock BitLocker-protected fixed data drives. If you choose to permit the use of a password, you can require that a password be used, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To require the use of a password, select "Require password for fixed data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md new file mode 100644 index 0000000000..446f6449e0 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure use of passwords for operating system drives + +This policy setting specifies the constraints for passwords used to unlock BitLocker-protected operating system drives. If non-TPM protectors are allowed on operating system drives, you can provision a password, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable or do not configure this policy setting, the default length constraint of 8 characters will apply to operating system drive passwords and no complexity checks will occur. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md new file mode 100644 index 0000000000..be8982474f --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure use of passwords for removable data drives + +This policy setting specifies whether a password is required to unlock BitLocker-protected removable data drives. If you choose to allow use of a password, you can require a password to be used, enforce complexity requirements, and configure a minimum length. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements that you define. To require the use of a password, select "Require password for removable data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-fixed-data-drives.md new file mode 100644 index 0000000000..183ae12941 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-fixed-data-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure use of smart cards on fixed data drives + +This policy setting allows you to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on fixed data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected fixed data drives. If you do not configure this policy setting, smart cards can be used to authenticate user access to a BitLocker-protected drive. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-removable-data-drives.md new file mode 100644 index 0000000000..a43596de04 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-removable-data-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Configure use of smart cards on removable data drives + +This policy setting allows you to specify whether smart cards can be used to authenticate user access to BitLocker-protected removable data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on removable data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected removable data drives. If you do not configure this policy setting, smart cards are available to authenticate user access to a BitLocker-protected removable data drive. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/control-use-of-bitlocker-on-removable-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/control-use-of-bitlocker-on-removable-drives.md new file mode 100644 index 0000000000..7ee41cc482 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/control-use-of-bitlocker-on-removable-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Control use of BitLocker on removable drives + +This policy setting controls the use of BitLocker on removable data drives. When this policy setting is enabled you can select property settings that control how users can configure BitLocker. Choose "Allow users to apply BitLocker protection on removable data drives" to permit the user to run the BitLocker setup wizard on a removable data drive. Choose "Allow users to suspend and decrypt BitLocker on removable data drives" to permit the user to remove BitLocker Drive encryption from the drive or suspend the encryption while maintenance is performed. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information on suspending BitLocker protection. If you do not configure this policy setting, users can use BitLocker on removable disk drives. If you disable this policy setting, users cannot use BitLocker on removable disk drives. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesConfigureBDE](/windows/client-management/mdm/bitlocker-csp#removabledrivesconfigurebde) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md new file mode 100644 index 0000000000..5dba523acb --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md @@ -0,0 +1,16 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Deny write access to fixed drives not protected by BitLocker + +This policy setting determines whether BitLocker protection is required for fixed data drives to be writable on a computer. If you enable this policy setting, all fixed data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If you disable or do not configure this policy setting, all fixed data drives on the computer will be mounted with read and write access. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[FixedDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#fixeddrivesrequireencryption) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-removable-drives-not-protected-by-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-removable-drives-not-protected-by-bitlocker.md new file mode 100644 index 0000000000..e01e2f64fb --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-removable-drives-not-protected-by-bitlocker.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Deny write access to removable drives not protected by BitLocker + +This policy setting configures whether BitLocker protection is required for a computer to be able to write data to a removable data drive. If you enable this policy setting, all removable data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If the "Deny write access to devices configured in another organization" option is selected, only drives with identification fields matching the computer's identification fields will be given write access. When a removable data drive is accessed it will be checked for valid identification field and allowed identification fields. These fields are defined by the "Provide the unique identifiers for your organization" policy setting. If you disable or do not configure this policy setting, all removable data drives on the computer will be mounted with read and write access. Note: This policy setting can be overridden by the policy settings under User Configuration\Administrative Templates\System\Removable Storage Access. If the "Removable Disks: Deny write access" policy setting is enabled this policy setting will be ignored. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesrequireencryption) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md new file mode 100644 index 0000000000..467908e39a --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Disable new DMA devices when this computer is locked + +This policy setting allows you to block direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md new file mode 100644 index 0000000000..30a781a10b --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Disallow standard users from changing the PIN or password + +This policy setting allows you to configure whether or not standard users are allowed to change BitLocker volume PINs, provided they are able to provide the existing PIN first. If you enable this policy setting, standard users will not be allowed to change BitLocker PINs or passwords. If you disable or do not configure this policy setting, standard users will be permitted to change BitLocker PINs and passwords. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesDisallowStandardUsersCanChangePIN](/windows/client-management/mdm/bitlocker-csp#systemdrivesdisallowstandarduserscanchangepin) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md new file mode 100644 index 0000000000..3fbd978835 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Enable use of BitLocker authentication requiring preboot keyboard input on slates + +This policy setting allows users to turn on authentication options that require user input from the pre-boot environment, even if the platform lacks pre-boot input capability. The Windows touch keyboard (such as that used by tablets) isn't available in the pre-boot environment where BitLocker requires additional information such as a PIN or Password. If you enable this policy setting, devices must have an alternative means of pre-boot input (such as an attached USB keyboard). If this policy is not enabled, the Windows Recovery Environment must be enabled on tablets to support the entry of the BitLocker recovery password. When the Windows Recovery Environment is not enabled and this policy is not enabled, you cannot turn on BitLocker on a device that uses the Windows touch keyboard. Note that if you do not enable this policy setting, options in the "Require additional authentication at startup" policy might not be available on such devices. These options include: - Configure TPM startup PIN: Required/Allowed - Configure TPM startup key and PIN: Required/Allowed - Configure use of passwords for operating system drives. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEnablePrebootInputProtectorsOnSlates](/windows/client-management/mdm/bitlocker-csp#systemdrivesenableprebootinputprotectorsonslates) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md new file mode 100644 index 0000000000..64957b2d3b --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Enforce drive encryption type on fixed data drives + +This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + +| | Path | +|--|--| +| **CSP** | ``./Device/Vendor/MSFT/BitLocker/`[FixedDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#fixeddrivesencryptiontype) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md new file mode 100644 index 0000000000..61fa1ce693 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Enforce drive encryption type on operating system drives + +This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#systemdrivesencryptiontype) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md new file mode 100644 index 0000000000..0312292faf --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Enforce drive encryption type on removable data drives + +This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#removabledrivesencryptiontype) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/prevent-memory-overwrite-on-restart.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/prevent-memory-overwrite-on-restart.md new file mode 100644 index 0000000000..c0bdf2d2c9 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/prevent-memory-overwrite-on-restart.md @@ -0,0 +1,14 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Prevent memory overwrite on restart +This policy setting controls computer restart performance at the risk of exposing BitLocker secrets. BitLocker secrets include key material used to encrypt data. This policy setting applies only when BitLocker protection is enabled. If you enable this policy setting, memory will not be overwritten when the computer restarts. Preventing memory overwrite may improve restart performance but will increase the risk of exposing BitLocker secrets. If you disable or do not configure this policy setting, BitLocker secrets are removed from memory when the computer restarts. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md new file mode 100644 index 0000000000..df383263ae --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Provide the unique identifiers for your organization + +This policy setting allows you to associate unique organizational identifiers to a new drive that is enabled with BitLocker. These identifiers are stored as the identification field and allowed identification field. The identification field allows you to associate a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives and can be updated on existing BitLocker-protected drives using the manage-bde command-line tool. An identification field is required for management of certificate-based data recovery agents on BitLocker-protected drives and for potential updates to the BitLocker To Go Reader. BitLocker will only manage and update data recovery agents when the identification field on the drive matches the value configured in the identification field. In a similar manner, BitLocker will only update the BitLocker To Go Reader when the identification field on the drive matches the value configured for the identification field. The allowed identification field is used in combination with the "Deny write access to removable drives not protected by BitLocker" policy setting to help control the use of removable drives in your organization. It is a comma separated list of identification fields from your organization or other external organizations. You can configure the identification fields on existing drives by using manage-bde.exe. If you enable this policy setting, you can configure the identification field on the BitLocker-protected drive and any allowed identification field used by your organization. When a BitLocker-protected drive is mounted on another BitLocker-enabled computer the identification field and allowed identification field will be used to determine whether the drive is from an outside organization. If you disable or do not configure this policy setting, the identification field is not required. Note: Identification fields are required for management of certificate-based data recovery agents on BitLocker-protected drives. BitLocker will only manage and update certificate-based data recovery agents when the identification field is present on a drive and is identical to the value configured on the computer. The identification field can be any value of 260 characters or fewer. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[IdentificationField](/windows/client-management/mdm/bitlocker-csp#identificationfield) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/removable-drives-excluded-from-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/removable-drives-excluded-from-encryption.md new file mode 100644 index 0000000000..273a437ddb --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/removable-drives-excluded-from-encryption.md @@ -0,0 +1,13 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Removable drives excluded from encryption + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesExcludedFromEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesexcludedfromencryption) | +| **GPO** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md new file mode 100644 index 0000000000..88786322d0 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Require additional authentication at startup + +This policy setting allows you to configure whether BitLocker requires additional authentication each time the computer starts and whether you are using BitLocker with or without a Trusted Platform Module (TPM). Note: Only one of the additional authentication options can be required at startup, otherwise a policy error occurs. If you want to use BitLocker on a computer without a TPM, select the "Allow BitLocker without a compatible TPM" check box. In this mode either a password or a USB drive is required for start-up. When using a startup key, the key information used to encrypt the drive is stored on the USB drive, creating a USB key. When the USB key is inserted the access to the drive is authenticated and the drive is accessible. If the USB key is lost or unavailable or if you have forgotten the password then you will need to use one of the BitLocker recovery options to access the drive. On a computer with a compatible TPM, four types of authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can use only the TPM for authentication, or it can also require insertion of a USB flash drive containing a startup key, the entry of a 6-digit to 20-digit personal identification number (PIN), or both. If you enable this policy setting, users can configure advanced startup options in the BitLocker setup wizard. If you disable or do not configure this policy setting, users can configure only basic options on computers with a TPM. Note: If you want to require the use of a startup PIN and a USB flash drive, you must configure BitLocker settings using the command-line tool manage-bde instead of the BitLocker Drive Encryption setup wizard. + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesRequireStartupAuthentication](/windows/client-management/mdm/bitlocker-csp#systemdrivesrequirestartupauthentication) | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md new file mode 100644 index 0000000000..3bb72c3e6b --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md @@ -0,0 +1,13 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Require device encryption + +| | Path | +|--|--| +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RequireDeviceEncryption](/windows/client-management/mdm/bitlocker-csp#requiredeviceencryption) | +| **GPO** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md new file mode 100644 index 0000000000..6e1f081b8b --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Reset platform validation data after BitLocker recovery + +This policy setting allows you to control whether or not platform validation data is refreshed when Windows is started following BitLocker recovery. If you enable this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. If you disable this policy setting, platform validation data will not be refreshed when Windows is started following BitLocker recovery. If you do not configure this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md new file mode 100644 index 0000000000..2315c6e366 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Use enhanced Boot Configuration Data validation profile + +This policy setting allows you to choose specific Boot Configuration Data (BCD) settings to verify during platform validation. If you enable this policy setting, you will be able to add additional settings, remove the default settings, or both. If you disable this policy setting, the computer will revert to a BCD profile similar to the default BCD profile used by Windows 7. If you do not configure this policy setting, the computer will verify the default Windows BCD settings. Note: When BitLocker is using Secure Boot for platform and Boot Configuration Data (BCD) integrity validation, as defined by the "Allow Secure Boot for integrity validation" group policy, the "Use enhanced Boot Configuration Data validation profile" group policy is ignored. The setting that controls boot debugging (0x16000010) will always be validated and will have no effect if it is included in the provided fields. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/validate-smart-card-certificate-usage-rule-compliance.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/validate-smart-card-certificate-usage-rule-compliance.md new file mode 100644 index 0000000000..a6d7ea7b76 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/validate-smart-card-certificate-usage-rule-compliance.md @@ -0,0 +1,15 @@ +--- +author: paolomatarazzo +ms.author: paoloma +ms.date: 09/24/2023 +ms.topic: include +--- + +### Validate smart card certificate usage rule compliance + +This policy setting allows you to associate an object identifier from a smart card certificate to a BitLocker-protected drive. The object identifier is specified in the enhanced key usage (EKU) of a certificate. BitLocker can identify which certificates may be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. Default object identifier is 1.3.6.1.4.1.311.67.1.1 Note: BitLocker does not require that a certificate have an EKU attribute, but if one is configured for the certificate it must be set to an object identifier (OID) that matches the OID configured for BitLocker. If you enable this policy setting, the object identifier specified in the "Object identifier" box must match the object identifier in the smart card certificate. If you disable or do not configure this policy setting, a default object identifier is used. + +| | Path | +|--|--| +| **CSP** | Not available | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 1876b62a56..9272b9fb01 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -38,68 +38,14 @@ The following table lists the BitLocker policies applicable to all drive types, |[Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance)|❌|✅| [!INCLUDE [allow-standard-user-encryption](includes/allow-standard-user-encryption.md)] - [!INCLUDE [allow-suspension-of-bitlocker-protection](includes/allow-suspension-of-bitlocker-protection.md)] - [!INCLUDE [choose-default-folder-for-recovery-password](includes/choose-default-folder-for-recovery-password.md)] - -### Choose drive encryption method and cipher strength - -With this policy you can configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. -Recommended settings: - -- For fixed and operating system drives: XTS-AES algorithm -- For removable drives: AES-CBC 128-bit or AES-CBC 256-bit - -If you disable or do not configure this policy setting, BitLocker uses the default encryption method of XTS-AES 128-bit. - -> [!WARNING] -> This policy doesn't apply to encrypted drives. Encrypted drives utilize their own algorithm, which is set by the drive during partitioning. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[EncryptionMethodByDriveType](/windows/client-management/mdm/bitlocker-csp#encryptionmethodbydrivetype)| -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | - -### Configure Recovery Password Rotation - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[ConfigureRecoveryPasswordRotation](/windows/client-management/mdm/bitlocker-csp#configurerecoverypasswordrotation)| -| **GPO** | Not available | - -### Disable new DMA devices when this computer is locked - -This policy setting allows you to block direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | - -### Prevent memory overwrite on restart -This policy setting controls computer restart performance at the risk of exposing BitLocker secrets. BitLocker secrets include key material used to encrypt data. This policy setting applies only when BitLocker protection is enabled. If you enable this policy setting, memory will not be overwritten when the computer restarts. Preventing memory overwrite may improve restart performance but will increase the risk of exposing BitLocker secrets. If you disable or do not configure this policy setting, BitLocker secrets are removed from memory when the computer restarts. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | - -### Provide the unique identifiers for your organization -This policy setting allows you to associate unique organizational identifiers to a new drive that is enabled with BitLocker. These identifiers are stored as the identification field and allowed identification field. The identification field allows you to associate a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives and can be updated on existing BitLocker-protected drives using the manage-bde command-line tool. An identification field is required for management of certificate-based data recovery agents on BitLocker-protected drives and for potential updates to the BitLocker To Go Reader. BitLocker will only manage and update data recovery agents when the identification field on the drive matches the value configured in the identification field. In a similar manner, BitLocker will only update the BitLocker To Go Reader when the identification field on the drive matches the value configured for the identification field. The allowed identification field is used in combination with the "Deny write access to removable drives not protected by BitLocker" policy setting to help control the use of removable drives in your organization. It is a comma separated list of identification fields from your organization or other external organizations. You can configure the identification fields on existing drives by using manage-bde.exe. If you enable this policy setting, you can configure the identification field on the BitLocker-protected drive and any allowed identification field used by your organization. When a BitLocker-protected drive is mounted on another BitLocker-enabled computer the identification field and allowed identification field will be used to determine whether the drive is from an outside organization. If you disable or do not configure this policy setting, the identification field is not required. Note: Identification fields are required for management of certificate-based data recovery agents on BitLocker-protected drives. BitLocker will only manage and update certificate-based data recovery agents when the identification field is present on a drive and is identical to the value configured on the computer. The identification field can be any value of 260 characters or fewer. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[IdentificationField](/windows/client-management/mdm/bitlocker-csp#identificationfield) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | - -### Validate smart card certificate usage rule compliance -This policy setting allows you to associate an object identifier from a smart card certificate to a BitLocker-protected drive. The object identifier is specified in the enhanced key usage (EKU) of a certificate. BitLocker can identify which certificates may be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. Default object identifier is 1.3.6.1.4.1.311.67.1.1 Note: BitLocker does not require that a certificate have an EKU attribute, but if one is configured for the certificate it must be set to an object identifier (OID) that matches the OID configured for BitLocker. If you enable this policy setting, the object identifier specified in the "Object identifier" box must match the object identifier in the smart card certificate. If you disable or do not configure this policy setting, a default object identifier is used. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** | +[!INCLUDE [choose-drive-encryption-method-and-cipher-strength](includes/choose-drive-encryption-method-and-cipher-strength.md)] +[!INCLUDE [configure-recovery-password-rotation](includes/configure-recovery-password-rotation.md)] +[!INCLUDE [disable-new-dma-devices-when-this-computer-is-locked](includes/disable-new-dma-devices-when-this-computer-is-locked.md)] +[!INCLUDE [prevent-memory-overwrite-on-restart](includes/prevent-memory-overwrite-on-restart.md)] +[!INCLUDE [provide-the-unique-identifiers-for-your-organization](includes/provide-the-unique-identifiers-for-your-organization.md)] +[!INCLUDE [validate-smart-card-certificate-usage-rule-compliance](includes/validate-smart-card-certificate-usage-rule-compliance.md)] #### [:::image type="icon" source="images/os-drive.svg"::: **Operating system drive**](#tab/os) @@ -125,172 +71,25 @@ This policy setting allows you to associate an object identifier from a smart ca |[Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery)|❌|✅| |[Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile)|❌|✅| -### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN - -This policy setting allows users on devices that are compliant with InstantGo or Microsoft Hardware Security Test Interface (HSTI) to not have a PIN for pre-boot authentication. This overrides the *Require startup PIN with TPM* and *Require startup key and PIN with TPM* options of the [*Require additional authentication at startup*](#require-additional-authentication-at-startup) policy on compliant hardware. If you enable this policy setting, users on InstantGo and HSTI compliant devices have the choice to turn on BitLocker without pre-boot authentication. If this policy is not enabled, the options of *Require additional authentication at startup* policy apply. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEnablePreBootPinExceptionOnDECapableDevice](/windows/client-management/mdm/bitlocker-csp#systemdrivesenableprebootpinexceptionondecapabledevice) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Allow enhanced PINs for startup - -This policy setting allows you to configure whether or not enhanced startup PINs are used with BitLocker. Enhanced startup PINs permit the use of characters including uppercase and lowercase letters, symbols, numbers, and spaces. If you enable this policy setting, all new BitLocker startup PINs set will be enhanced PINs. Note: Not all computers may support enhanced PINs in the pre-boot environment. It is strongly recommended that users perform a system check during BitLocker setup. If you disable or do not configure this policy setting, enhanced PINs will not be used. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEnhancedPIN](/windows/client-management/mdm/bitlocker-csp#systemdrivesenhancedpin) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Allow network unlock at startup - -This policy setting controls whether a BitLocker-protected computer that is connected to a trusted wired Local Area Network (LAN) and joined to a domain can create and use Network Key Protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started. If you enable this policy, clients configured with a BitLocker Network Unlock certificate will be able to create and use Network Key Protectors. To use a Network Key Protector to unlock the computer, both the computer and the BitLocker Drive Encryption Network Unlock server must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create Network Key Protectors, and protects the information exchanged with the server to unlock the computer. You can use the group policy setting "Computer Configuration\Windows Settings\Security Settings\Public Key Policies\BitLocker Drive Encryption Network Unlock Certificate" on the domain controller to distribute this certificate to computers in your organization. This unlock method uses the TPM on the computer, so computers that do not have a TPM cannot create Network Key Protectors to automatically unlock with Network Unlock. If you disable or do not configure this policy setting, BitLocker clients will not be able to create and use Network Key Protectors. Note: For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or the server at startup. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Allow Secure Boot for integrity validation - -This policy setting allows you to configure whether Secure Boot will be allowed as the platform integrity provider for BitLocker operating system drives. Secure Boot ensures that the PC's pre-boot environment only loads firmware that is digitally signed by authorized software publishers. Secure Boot also provides more flexibility for managing pre-boot configuration than legacy BitLocker integrity checks. If you enable or do not configure this policy setting, BitLocker will use Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation. If you disable this policy setting, BitLocker will use legacy platform integrity validation, even on systems capable of Secure Boot-based integrity validation. When this policy is enabled and the hardware is capable of using Secure Boot for BitLocker scenarios, the "Use enhanced Boot Configuration Data validation profile" group policy setting is ignored and Secure Boot verifies BCD settings according to the Secure Boot policy setting, which is configured separately from BitLocker. Note: If the group policy setting "Configure TPM platform validation profile for native UEFI firmware configurations" is enabled and has PCR 7 omitted, Bitlocker will be prevented from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Warning: Disabling this policy may result in BitLocker recovery when firmware is updated. If you disable this policy, suspend BitLocker prior to applying firmware updates. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Allow Warning For Other Disk Encryption - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#allowwarningforotherdiskencryption) | -| **GPO** | Not available | - -### Choose how BitLocker-protected operating system drives can be recovered - -This policy setting allows you to control how BitLocker-protected operating system drives are recovered in the absence of the required startup key information. The "Allow certificate-based data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected operating system drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services", choose which BitLocker recovery information to store in AD DS for operating system drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected operating system drives. If this policy setting is disabled or not configured, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesRecoveryOptions](/windows/client-management/mdm/bitlocker-csp#systemdrivesrecoveryoptions)| -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure minimum PIN length for startup - -This policy setting allows you to configure a minimum length for a Trusted Platform Module (TPM) startup PIN. The startup PIN must have a minimum length of 4 digits and can have a maximum length of 20 digits. If you enable this policy setting, you can require a minimum number of digits to be used when setting the startup PIN. If you disable or do not configure this policy setting, users can configure a startup PIN of any length between 6 and 20 digits. NOTE: If minimum PIN length is set below 6 digits, Windows will attempt to update the TPM 2.0 lockout period to be greater than the default when a PIN is changed. If successful, Windows will only reset the TPM lockout period back to default if the TPM is reset. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesMinimumPINLength](/windows/client-management/mdm/bitlocker-csp#systemdrivesminimumpinlength) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure pre-boot recovery message and URL - -This policy setting lets you configure the entire recovery message or replace the existing URL that are displayed on the pre-boot key recovery screen when the OS drive is locked. If you select the "Use default recovery message and URL" option, the default BitLocker recovery message and URL will be displayed in the pre-boot key recovery screen. If you have previously configured a custom recovery message or URL and want to revert to the default message, you must keep the policy enabled and select the "Use default recovery message and URL" option. If you select the "Use custom recovery message" option, the message you type in the "Custom recovery message option" text box will be displayed in the pre-boot key recovery screen. If a recovery URL is available, include it in the message. If you select the "Use custom recovery URL" option, the URL you type in the "Custom recovery URL option" text box will replace the default URL in the default recovery message, which will be displayed in the pre-boot key recovery screen. Note: Not all characters and languages are supported in pre-boot. It is strongly recommended that you test that the characters you use for the custom message or URL appear correctly on the pre-boot recovery screen. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesRecoveryMessage](/windows/client-management/mdm/bitlocker-csp#systemdrivesrecoverymessage) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure TPM platform validation profile for BIOS-based firmware configurations - -This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with BIOS configurations or to computers with UEFI firmware with a Compatibility Service Module (CSM) enabled. Computers using a native UEFI firmware configuration store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for native UEFI firmware configurations" group policy setting to configure the TPM PCR profile for computers using native UEFI firmware. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0), the Option ROM Code (PCR 2), the Master Boot Record (MBR) Code (PCR 4), the NTFS Boot Sector (PCR 8), the NTFS Boot Block (PCR 9), the Boot Manager (PCR 10), and the BitLocker Access Control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure TPM platform validation profile for native UEFI firmware configurations - -This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Service Module (CSM) enabled store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for BIOS-based firmware configurations" group policy setting to configure the TPM PCR profile for computers with BIOS configurations or computers with UEFI firmware with a CSM enabled. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile for the available hardware or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. On PCs that lack Secure Boot State (PCR 7) support, the default platform validation profile secures the encryption key against changes to the core system firmware executable code (PCR 0), extended or pluggable executable code (PCR 2), boot manager (PCR 4), and the BitLocker access control (PCR 11). When Secure Boot State (PCR7) support is available, the default platform validation profile secures the encryption key using Secure Boot State (PCR 7) and the BitLocker access control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. Specifically, setting this policy with PCR 7 omitted, will override the "Allow Secure Boot for integrity validation" group policy, preventing BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Setting this policy may result in BitLocker recovery when firmware is updated. If you set this policy to include PCR 0, suspend BitLocker prior to applying firmware updates. It is recommended to not configure this policy, to allow Windows to select the PCR profile for the best combination of security and usability based on the available hardware on each PC. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure use of hardware-based encryption for operating system drives - -This policy setting allows you to manage BitLocker's use of hardware-based encryption on operating system drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Configure use of passwords for operating system drives - -This policy setting specifies the constraints for passwords used to unlock BitLocker-protected operating system drives. If non-TPM protectors are allowed on operating system drives, you can provision a password, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable or do not configure this policy setting, the default length constraint of 8 characters will apply to operating system drive passwords and no complexity checks will occur. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Disallow standard users from changing the PIN or password - -This policy setting allows you to configure whether or not standard users are allowed to change BitLocker volume PINs, provided they are able to provide the existing PIN first. If you enable this policy setting, standard users will not be allowed to change BitLocker PINs or passwords. If you disable or do not configure this policy setting, standard users will be permitted to change BitLocker PINs and passwords. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesDisallowStandardUsersCanChangePIN](/windows/client-management/mdm/bitlocker-csp#systemdrivesdisallowstandarduserscanchangepin) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Enable use of BitLocker authentication requiring preboot keyboard input on slates - -This policy setting allows users to turn on authentication options that require user input from the pre-boot environment, even if the platform lacks pre-boot input capability. The Windows touch keyboard (such as that used by tablets) isn't available in the pre-boot environment where BitLocker requires additional information such as a PIN or Password. If you enable this policy setting, devices must have an alternative means of pre-boot input (such as an attached USB keyboard). If this policy is not enabled, the Windows Recovery Environment must be enabled on tablets to support the entry of the BitLocker recovery password. When the Windows Recovery Environment is not enabled and this policy is not enabled, you cannot turn on BitLocker on a device that uses the Windows touch keyboard. Note that if you do not enable this policy setting, options in the "Require additional authentication at startup" policy might not be available on such devices. These options include: - Configure TPM startup PIN: Required/Allowed - Configure TPM startup key and PIN: Required/Allowed - Configure use of passwords for operating system drives. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEnablePrebootInputProtectorsOnSlates](/windows/client-management/mdm/bitlocker-csp#systemdrivesenableprebootinputprotectorsonslates) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Enforce drive encryption type on operating system drives - -This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#systemdrivesencryptiontype) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Require additional authentication at startup - -This policy setting allows you to configure whether BitLocker requires additional authentication each time the computer starts and whether you are using BitLocker with or without a Trusted Platform Module (TPM). Note: Only one of the additional authentication options can be required at startup, otherwise a policy error occurs. If you want to use BitLocker on a computer without a TPM, select the "Allow BitLocker without a compatible TPM" check box. In this mode either a password or a USB drive is required for start-up. When using a startup key, the key information used to encrypt the drive is stored on the USB drive, creating a USB key. When the USB key is inserted the access to the drive is authenticated and the drive is accessible. If the USB key is lost or unavailable or if you have forgotten the password then you will need to use one of the BitLocker recovery options to access the drive. On a computer with a compatible TPM, four types of authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can use only the TPM for authentication, or it can also require insertion of a USB flash drive containing a startup key, the entry of a 6-digit to 20-digit personal identification number (PIN), or both. If you enable this policy setting, users can configure advanced startup options in the BitLocker setup wizard. If you disable or do not configure this policy setting, users can configure only basic options on computers with a TPM. Note: If you want to require the use of a startup PIN and a USB flash drive, you must configure BitLocker settings using the command-line tool manage-bde instead of the BitLocker Drive Encryption setup wizard. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[SystemDrivesRequireStartupAuthentication](/windows/client-management/mdm/bitlocker-csp#systemdrivesrequirestartupauthentication) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Require Device Encryption - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RequireDeviceEncryption](/windows/client-management/mdm/bitlocker-csp#requiredeviceencryption) | -| **GPO** | Not available | - -### Reset platform validation data after BitLocker recovery - -This policy setting allows you to control whether or not platform validation data is refreshed when Windows is started following BitLocker recovery. If you enable this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. If you disable this policy setting, platform validation data will not be refreshed when Windows is started following BitLocker recovery. If you do not configure this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | - -### Use enhanced Boot Configuration Data validation profile - -This policy setting allows you to choose specific Boot Configuration Data (BCD) settings to verify during platform validation. If you enable this policy setting, you will be able to add additional settings, remove the default settings, or both. If you disable this policy setting, the computer will revert to a BCD profile similar to the default BCD profile used by Windows 7. If you do not configure this policy setting, the computer will verify the default Windows BCD settings. Note: When BitLocker is using Secure Boot for platform and Boot Configuration Data (BCD) integrity validation, as defined by the "Allow Secure Boot for integrity validation" group policy, the "Use enhanced Boot Configuration Data validation profile" group policy is ignored. The setting that controls boot debugging (0x16000010) will always be validated and will have no effect if it is included in the provided fields. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating Sytem Drives** | +[!INCLUDE [allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin](includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md)] +[!INCLUDE [allow-enhanced-pins-for-startup](includes/allow-enhanced-pins-for-startup.md)] +[!INCLUDE [allow-network-unlock-at-startup](includes/allow-network-unlock-at-startup.md)] +[!INCLUDE [allow-secure-boot-for-integrity-validation](includes/allow-secure-boot-for-integrity-validation.md)] +[!INCLUDE [allow-warning-for-other-disk-encryption](includes/allow-warning-for-other-disk-encryption.md)] +[!INCLUDE [choose-how-bitlocker-protected-operating-system-drives-can-be-recovered](includes/choose-how-bitlocker-protected-operating-system-drives-can-be-recovered.md)] +[!INCLUDE [configure-minimum-pin-length-for-startup](includes/configure-minimum-pin-length-for-startup.md)] +[!INCLUDE [configure-pre-boot-recovery-message-and-url](includes/configure-pre-boot-recovery-message-and-url.md)] +[!INCLUDE [configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations](includes/configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations.md)] +[!INCLUDE [configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations](includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md)] +[!INCLUDE [configure-use-of-hardware-based-encryption-for-operating-system-drives](includes/configure-use-of-hardware-based-encryption-for-operating-system-drives.md)] +[!INCLUDE [configure-use-of-passwords-for-operating-system-drives](includes/configure-use-of-passwords-for-operating-system-drives.md)] +[!INCLUDE [disallow-standard-users-from-changing-the-pin-or-password](includes/disallow-standard-users-from-changing-the-pin-or-password.md)] +[!INCLUDE [enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates](includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md)] +[!INCLUDE [enforce-drive-encryption-type-on-operating-system-drives](includes/enforce-drive-encryption-type-on-operating-system-drives.md)] +[!INCLUDE [require-additional-authentication-at-startup](includes/require-additional-authentication-at-startup.md)] +[!INCLUDE [require-device-encryption](includes/require-device-encryption.md)] +[!INCLUDE [reset-platform-validation-data-after-bitlocker-recovery](includes/reset-platform-validation-data-after-bitlocker-recovery.md)] +[!INCLUDE [use-enhanced-boot-configuration-data-validation-profile](includes/use-enhanced-boot-configuration-data-validation-profile.md)] #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Fixed data drives**](#tab/fixed) @@ -303,59 +102,12 @@ This policy setting allows you to choose specific Boot Configuration Data (BCD) |[Deny write access to fixed drives not protected by BitLocker](#deny-write-access-to-fixed-drives-not-protected-by-bitlocker)|✅|✅| |[Enforce drive encryption type on fixed data drives](#enforce-drive-encryption-type-on-fixed-data-drives)|✅|✅| -### Choose how BitLocker-protected fixed drives can be recovered - -This policy setting allows you to control how BitLocker-protected fixed data drives are recovered in the absence of the required credentials. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected fixed data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for fixed data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected fixed data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[FixedDrivesRecoveryOptions](/windows/client-management/mdm/bitlocker-csp#fixeddrivesrecoveryoptions) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Configure use of hardware-based encryption for fixed data drives - -This policy setting allows you to manage BitLocker's use of hardware-based encryption on fixed data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Configure use of passwords for fixed data drives - -This policy setting specifies whether a password is required to unlock BitLocker-protected fixed data drives. If you choose to permit the use of a password, you can require that a password be used, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To require the use of a password, select "Require password for fixed data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Configure use of smart cards on fixed data drives - -This policy setting allows you to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on fixed data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected fixed data drives. If you do not configure this policy setting, smart cards can be used to authenticate user access to a BitLocker-protected drive. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Deny write access to fixed drives not protected by BitLocker - -This policy setting determines whether BitLocker protection is required for fixed data drives to be writable on a computer. If you enable this policy setting, all fixed data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If you disable or do not configure this policy setting, all fixed data drives on the computer will be mounted with read and write access. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[FixedDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#fixeddrivesrequireencryption) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Enforce drive encryption type on fixed data drives - -This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. - -| | Path | -|--|--| -| **CSP** | ``./Device/Vendor/MSFT/BitLocker/`[FixedDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#fixeddrivesencryptiontype) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | +[!INCLUDE [choose-how-bitlocker-protected-fixed-drives-can-be-recovered](includes/choose-how-bitlocker-protected-fixed-drives-can-be-recovered.md)] +[!INCLUDE [configure-use-of-hardware-based-encryption-for-fixed-data-drives](includes/configure-use-of-hardware-based-encryption-for-fixed-data-drives.md)] +[!INCLUDE [configure-use-of-passwords-for-fixed-data-drives](includes/configure-use-of-passwords-for-fixed-data-drives.md)] +[!INCLUDE [configure-use-of-smart-cards-on-fixed-data-drives](includes/configure-use-of-smart-cards-on-fixed-data-drives.md)] +[!INCLUDE [deny-write-access-to-fixed-drives-not-protected-by-bitlocker](includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md)] +[!INCLUDE [enforce-drive-encryption-type-on-fixed-data-drives](includes/enforce-drive-encryption-type-on-fixed-data-drives.md)] #### [:::image type="icon" source="images/unlocked-drive.svg"::: **Removable data drives**](#tab/removable) @@ -370,75 +122,13 @@ This policy setting allows you to configure the encryption type used by BitLocke |[Enforce drive encryption type on removable data drives](#enforce-drive-encryption-type-on-removable-data-drives)|✅|✅| |[Removable Drives Excluded From Encryption](#removable-drives-excluded-from-encryption)|✅|❌| - -### Choose how BitLocker-protected removable drives can be recovered - -This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Configure use of hardware-based encryption for removable data drives - -This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Configure use of passwords for removable data drives - -This policy setting specifies whether a password is required to unlock BitLocker-protected removable data drives. If you choose to allow use of a password, you can require a password to be used, enforce complexity requirements, and configure a minimum length. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements that you define. To require the use of a password, select "Require password for removable data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Configure use of smart cards on removable data drives - -This policy setting allows you to specify whether smart cards can be used to authenticate user access to BitLocker-protected removable data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on removable data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected removable data drives. If you do not configure this policy setting, smart cards are available to authenticate user access to a BitLocker-protected removable data drive. - -| | Path | -|--|--| -| **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Control use of BitLocker on removable drives - -This policy setting controls the use of BitLocker on removable data drives. When this policy setting is enabled you can select property settings that control how users can configure BitLocker. Choose "Allow users to apply BitLocker protection on removable data drives" to permit the user to run the BitLocker setup wizard on a removable data drive. Choose "Allow users to suspend and decrypt BitLocker on removable data drives" to permit the user to remove BitLocker Drive encryption from the drive or suspend the encryption while maintenance is performed. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information on suspending BitLocker protection. If you do not configure this policy setting, users can use BitLocker on removable disk drives. If you disable this policy setting, users cannot use BitLocker on removable disk drives. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesConfigureBDE](/windows/client-management/mdm/bitlocker-csp#removabledrivesconfigurebde) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Deny write access to removable drives not protected by BitLocker - -This policy setting configures whether BitLocker protection is required for a computer to be able to write data to a removable data drive. If you enable this policy setting, all removable data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If the "Deny write access to devices configured in another organization" option is selected, only drives with identification fields matching the computer's identification fields will be given write access. When a removable data drive is accessed it will be checked for valid identification field and allowed identification fields. These fields are defined by the "Provide the unique identifiers for your organization" policy setting. If you disable or do not configure this policy setting, all removable data drives on the computer will be mounted with read and write access. Note: This policy setting can be overridden by the policy settings under User Configuration\Administrative Templates\System\Removable Storage Access. If the "Removable Disks: Deny write access" policy setting is enabled this policy setting will be ignored. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesrequireencryption) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Enforce drive encryption type on removable data drives - -This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#removabledrivesencryptiontype) | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | - -### Removable Drives Excluded From Encryption - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RemovableDrivesExcludedFromEncryption](/windows/client-management/mdm/bitlocker-csp#removabledrivesexcludedfromencryption) | -| **GPO** | Not available | +[!INCLUDE [choose-how-bitlocker-protected-removable-drives-can-be-recovered](includes/choose-how-bitlocker-protected-removable-drives-can-be-recovered.md)] +[!INCLUDE [configure-use-of-hardware-based-encryption-for-removable-data-drives](includes/configure-use-of-hardware-based-encryption-for-removable-data-drives.md)] +[!INCLUDE [configure-use-of-passwords-for-removable-data-drives](includes/configure-use-of-passwords-for-removable-data-drives.md)] +[!INCLUDE [configure-use-of-smart-cards-on-removable-data-drives](includes/configure-use-of-smart-cards-on-removable-data-drives.md)] +[!INCLUDE [control-use-of-bitlocker-on-removable-drives](includes/control-use-of-bitlocker-on-removable-drives.md)] +[!INCLUDE [deny-write-access-to-removable-drives-not-protected-by-bitlocker](includes/deny-write-access-to-removable-drives-not-protected-by-bitlocker.md)] +[!INCLUDE [enforce-drive-encryption-type-on-removable-data-drives](includes/enforce-drive-encryption-type-on-removable-data-drives.md)] +[!INCLUDE [removable-drives-excluded-from-encryption](includes/removable-drives-excluded-from-encryption.md)] --- From 8ac37f2053b6647b95792b7304d157a077790c5a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sun, 24 Sep 2023 09:11:07 -0400 Subject: [PATCH 029/505] moving to includes --- .../operating-system-security/data-protection/bitlocker/toc.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index 9b47d863ac..6bc78ee6d8 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -33,6 +33,8 @@ items: href: bitlocker-how-to-enable-network-unlock.md - name: Reference items: + - name: BitLocker policy settings + href: policy-settings.md - name: BitLocker Group Policy settings href: bitlocker-group-policy-settings.md - name: BCD settings From 6a940628fbeb72370f280f936713a6005deabf0a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sun, 24 Sep 2023 09:17:17 -0400 Subject: [PATCH 030/505] rename to catch broken links --- ...p-policy-settings.md => _bitlocker-group-policy-settings.md} | 0 .../operating-system-security/data-protection/bitlocker/toc.yml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename windows/security/operating-system-security/data-protection/bitlocker/{bitlocker-group-policy-settings.md => _bitlocker-group-policy-settings.md} (100%) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md rename to windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index 6bc78ee6d8..1e748d4f47 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -36,7 +36,7 @@ items: - name: BitLocker policy settings href: policy-settings.md - name: BitLocker Group Policy settings - href: bitlocker-group-policy-settings.md + href: _bitlocker-group-policy-settings.md - name: BCD settings href: bcd-settings-and-bitlocker.md - name: BitLocker frequently asked questions (FAQ) From dfb536f63ba7bfb1a9853e38fc6a3d8491dd0622 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Sun, 24 Sep 2023 09:33:48 -0400 Subject: [PATCH 031/505] fixed broken links --- .../bitlocker/bitlocker-countermeasures.md | 17 +++-------------- .../bitlocker-management-for-enterprises.md | 4 ++-- .../bitlocker/bitlocker-recovery-guide-plan.md | 2 +- .../data-protection/bitlocker/faq.yml | 12 ++++++------ ...ation-for-bitlocker-planning-and-policies.md | 2 +- .../data-protection/encrypted-hard-drive.md | 10 +++++----- 6 files changed, 18 insertions(+), 29 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md index 24361f175e..f883ee1a42 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md @@ -43,7 +43,7 @@ The next sections cover pre-boot authentication and DMA policies that can provid ### Pre-boot authentication -Pre-boot authentication with BitLocker is a policy setting that requires the use of either user input, such as a PIN, a startup key, or both to authenticate prior to making the contents of the system drive accessible. The Group Policy setting is [Require additional authentication at startup](bitlocker-group-policy-settings.md) and the corresponding setting in the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp) is SystemDrivesRequireStartupAuthentication. +Pre-boot authentication with BitLocker is a policy setting that requires the use of either user input, such as a PIN, a startup key, or both to authenticate prior to making the contents of the system drive accessible. The policy setting is [Require additional authentication at startup](policy-settings.md). BitLocker accesses and stores the encryption keys in memory only after pre-boot authentication is completed. If Windows can't access the encryption keys, the device can't read or edit the files on the system drive. The only option for bypassing pre-boot authentication is entering the recovery key. @@ -83,11 +83,7 @@ If kernel DMA protection isn't enabled, follow these steps to protect Thunderbol 2. Intel Thunderbolt Security must be set to User Authorization in BIOS settings. Refer to [Intel Thunderbolt™ 3 and Security on Microsoft Windows® 10 Operating System documentation](https://thunderbolttechnology.net/security/Thunderbolt%203%20and%20Security.pdf) -3. Additional DMA security may be added by deploying policy (beginning with Windows 10 version 1607 or Windows 11): - - - MDM: [DataProtection/AllowDirectMemoryAccess](/windows/client-management/mdm/policy-csp-dataprotection#dataprotection-allowdirectmemoryaccess) policy - - - Group Policy: [Disable new DMA devices when this computer is locked](bitlocker-group-policy-settings.md#disable-new-dma-devices-when-this-computer-is-locked) (This setting isn't configured by default.) +3. Additional DMA security may be added by deploying policy (beginning with Windows 10 version 1607 or Windows 11): [Disable new DMA devices when this computer is locked](policy-settings.md) For Thunderbolt v1 and v2 (DisplayPort Connector), refer to the **Thunderbolt Mitigation** section in [Blocking the SBP-2 driver and Thunderbolt controllers to reduce 1394 DMA and Thunderbolt DMA threats to BitLocker](https://support.microsoft.com/help/2516445/blocking-the-sbp-2-driver-and-thunderbolt-controllers-to-reduce-1394-d). For SBP-2 and 1394 (also known as Firewire), refer to the **SBP-2 Mitigation** section in [Blocking the SBP-2 driver and Thunderbolt controllers to reduce 1394 DMA and Thunderbolt DMA threats to BitLocker](https://support.microsoft.com/help/2516445/blocking-the-sbp-2-driver-and-thunderbolt-controllers-to-reduce-1394-d). @@ -161,7 +157,7 @@ Mitigation: > [!IMPORTANT] > These settings are **not configured** by default. -For some systems, bypassing TPM-only may require opening the case, and may require soldering, but could possibly be done for a reasonable cost. Bypassing a TPM with a PIN protector would cost much more, and require brute forcing the PIN. With a sophisticated enhanced PIN, it could be nearly impossible. The Group Policy setting for [enhanced PIN](bitlocker-group-policy-settings.md) is: +For some systems, bypassing TPM-only may require opening the case, and may require soldering, but could possibly be done for a reasonable cost. Bypassing a TPM with a PIN protector would cost much more, and require brute forcing the PIN. With a sophisticated enhanced PIN, it could be nearly impossible. The Group Policy setting for [enhanced PIN](policy-settings.md) is: - *Computer Configuration* > *Policies* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > **Allow enhanced PINs for startup** @@ -169,10 +165,3 @@ For some systems, bypassing TPM-only may require opening the case, and may requi > This setting is **not configured** by default. For secure administrative workstations, Microsoft recommends a TPM with PIN protector and to disable Standby power management and shut down or hibernate the device. - -## Related articles - -- [Blocking the SBP-2 driver and Thunderbolt controllers to reduce 1394 DMA and Thunderbolt DMA threats to BitLocker](https://support.microsoft.com/help/2516445/blocking-the-sbp-2-driver-and-thunderbolt-controllers-to-reduce-1394-d) -- [BitLocker Group Policy settings](bitlocker-group-policy-settings.md) -- [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp) -- [Winlogon automatic restart sign-on (ARSO)](/windows-server/identity/ad-ds/manage/component-updates/winlogon-automatic-restart-sign-on--arso-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md index c88b6cde1e..fda334e60a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md @@ -15,7 +15,7 @@ Though much Windows [BitLocker documentation](index.md) has been published, cust ## Managing domain-joined computers and moving to cloud -Companies that image their own computers using Configuration Manager can use an existing task sequence to [pre-provision BitLocker](/configmgr/osd/understand/task-sequence-steps#BKMK_PreProvisionBitLocker) encryption while in Windows Preinstallation Environment (WinPE) and can then [enable protection](/configmgr/osd/understand/task-sequence-steps#BKMK_EnableBitLocker). These steps during an operating system deployment can help ensure that computers are encrypted from the start, even before users receive them. As part of the imaging process, a company could also decide to use Configuration Manager to pre-set any desired [BitLocker Group Policy](bitlocker-group-policy-settings.md). +Companies that image their own computers using Configuration Manager can use an existing task sequence to [pre-provision BitLocker](/configmgr/osd/understand/task-sequence-steps#BKMK_PreProvisionBitLocker) encryption while in Windows Preinstallation Environment (WinPE) and can then [enable protection](/configmgr/osd/understand/task-sequence-steps#BKMK_EnableBitLocker). These steps during an operating system deployment can help ensure that computers are encrypted from the start, even before users receive them. As part of the imaging process, a company could also decide to use Configuration Manager to pre-set any desired [BitLocker policy settings](policy-settings.md). Enterprises can use [Microsoft BitLocker Administration and Monitoring (MBAM)](/microsoft-desktop-optimization-pack/mbam-v25/) to manage client computers with BitLocker that are domain-joined on-premises until [mainstream support ends in July 2019](/lifecycle/products/?alpha=Microsoft%20BitLocker%20Administration%20and%20Monitoring%202.5%20Service%20Pack%201%2F) or they can receive extended support until April 2026. Thus, over the next few years, a good strategy for enterprises will be to plan and move to cloud-based management for BitLocker. Refer to the [PowerShell examples](#powershell-examples) to see how to store recovery keys in Azure Active Directory (Azure AD). @@ -92,7 +92,7 @@ Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pi - [BitLocker: FAQs](faq.yml) - [Microsoft BitLocker Administration and Management (MBAM)](/microsoft-desktop-optimization-pack/mbam-v25/) - [Overview of BitLocker Device Encryption in Windows](bitlocker-device-encryption-overview-windows-10.md#bitlocker-device-encryption) -- [BitLocker Group Policy Reference](bitlocker-group-policy-settings.md) +- [BitLocker policy settings](policy-settings.md) - [Microsoft Intune](https://www.microsoft.com/cloud-platform/microsoft-intune/) *(Overview)* - [Configuration Settings Providers](/windows/client-management/mdm/policy-configuration-service-provider) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md index c934ae7570..f664daaca9 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md @@ -26,7 +26,7 @@ BitLocker recovery is the process by which access can be restored to a BitLocker - **Data recovery agents can use their credentials to unlock the drive.** If the drive is an operating system drive, the drive must be mounted as a data drive on another computer for the data recovery agent to unlock it. -- **A domain administrator can obtain the recovery password from AD DS and use it to unlock the drive.** Storing recovery passwords in AD DS is recommended to provide a way for IT professionals to be able to obtain recovery passwords for drives in an organization if needed. This method makes it mandatory to enable this recovery method in the BitLocker group policy setting **Choose how BitLocker-protected operating system drives can be recovered** located at **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating System Drives** in the Local Group Policy Editor. For more information, see [BitLocker Group Policy settings](bitlocker-group-policy-settings.md). +- **A domain administrator can obtain the recovery password from AD DS and use it to unlock the drive.** Storing recovery passwords in AD DS is recommended to provide a way for IT professionals to be able to obtain recovery passwords for drives in an organization if needed. This method makes it mandatory to enable this recovery method in the BitLocker group policy setting **Choose how BitLocker-protected operating system drives can be recovered** located at **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating System Drives** in the Local Group Policy Editor. For more information, see [BitLocker policy settings](policy-settings.md). ### What causes BitLocker recovery? diff --git a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml index 9af21917f8..01ed7d3720 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml @@ -123,7 +123,7 @@ sections: - question: How can I prevent users on a network from storing data on an unencrypted drive? answer: | - Group Policy settings can be configured to require that data drives be BitLocker-protected before a BitLocker-protected computer can write data to them. For more info, see [BitLocker Group Policy settings](bitlocker-group-policy-settings.md). + Group Policy settings can be configured to require that data drives be BitLocker-protected before a BitLocker-protected computer can write data to them. For more info, see [BitLocker policy settings](policy-settings.md). When these policy settings are enabled, the BitLocker-protected operating system will mount any data drives that aren't protected by BitLocker as read-only. - question: What is Used Disk Space Only encryption? @@ -203,7 +203,7 @@ sections: - question: When should an additional method of authentication be considered? answer: | New hardware that meets [Windows Hardware Compatibility Program](/windows-hardware/design/compatibility/) requirements make a PIN less critical as a mitigation, and having a TPM-only protector is likely sufficient when combined with policies like device lockout. For example, Surface Pro and Surface Book don't have external DMA ports to attack. - For older hardware, where a PIN may be needed, it's recommended to enable [enhanced PINs](bitlocker-group-policy-settings.md#allow-enhanced-pins-for-startup) that allow non-numeric characters such as letters and punctuation marks, and to set the PIN length based on the risk tolerance and the hardware anti-hammering capabilities available to the TPMs on the computers. + For older hardware, where a PIN may be needed, it's recommended to enable [enhanced PINs](policy-settings.md) that allow non-numeric characters such as letters and punctuation marks, and to set the PIN length based on the risk tolerance and the hardware anti-hammering capabilities available to the TPMs on the computers. - question: If I lose my recovery information, will the BitLocker-protected data be unrecoverable? answer: | @@ -264,7 +264,7 @@ sections: answer: | Yes and No. The minimum personal identification number (PIN) length can be configured by using the **Configure minimum PIN length for startup** Group Policy setting and allow the use of alphanumeric PINs by enabling the **Allow enhanced PINs for startup** Group Policy setting. However, PIN complexity can't be required via Group Policy. - For more info, see [BitLocker Group Policy settings](bitlocker-group-policy-settings.md). + For more info, see [BitLocker policy settings](policy-settings.md). - name: BitLocker To Go questions: @@ -297,7 +297,7 @@ sections: answer: | If BitLocker is enabled on a drive before Group Policy has been applied to enforce a backup, the recovery information won't be automatically backed up to AD DS when the computer joins the domain or when Group Policy is subsequently applied. However, the Group Policy settings **Choose how BitLocker-protected operating system drives can be recovered**, **Choose how BitLocker-protected fixed drives can be recovered**, and **Choose how BitLocker-protected removable drives can be recovered** can be chosen to require the computer to be connected to a domain before BitLocker can be enabled to help ensure that recovery information for BitLocker-protected drives in the organization is backed up to AD DS. - For more info, see [BitLocker Group Policy settings](bitlocker-group-policy-settings.md). + For more info, see [BitLocker policy settings](policy-settings.md). The BitLocker Windows Management Instrumentation (WMI) interface does allow administrators to write a script to back up or synchronize an online client's existing recovery information. However, BitLocker doesn't automatically manage this process. The `manage-bde.exe` command-line tool can also be used to manually back up recovery information to AD DS. For example, to back up all of the recovery information for the `$env:SystemDrive` to AD DS, the following command script can be used from an elevated command prompt: @@ -331,7 +331,7 @@ sections: When an administrator selects the **Require BitLocker backup to AD DS** check box of the **Store BitLocker recovery information in Active Directory Domain Service (Windows 2008 and Windows Vista)** policy setting, or the equivalent **Do not enable BitLocker until recovery information is stored in AD DS for (operating system | fixed data | removable data) drives** check box in any of the **Choose how BitLocker-protected operating system drives can be recovered**, **Choose how BitLocker-protected fixed data drives can be recovered**, and **Choose how BitLocker-protected removable data drives can be recovered** policy settings, users can't enable BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. With these settings configured if the backup fails, BitLocker can't be enabled, ensuring that administrators will be able to recover BitLocker-protected drives in the organization. - For more info, see [BitLocker Group Policy settings](bitlocker-group-policy-settings.md). + For more info, see [BitLocker policy settings](policy-settings.md). When an administrator clears these check boxes, the administrator is allowing a drive to be BitLocker-protected without having the recovery information successfully backed up to AD DS; however, BitLocker won't automatically retry the backup if it fails. Instead, administrators can create a backup script, as described earlier in [What if BitLocker is enabled on a computer before the computer has joined the domain?](#what-if-bitlocker-is-enabled-on-a-computer-before-the-computer-has-joined-the-domain-) to capture the information after connectivity is restored. @@ -350,7 +350,7 @@ sections: - question: | What are the implications of using the sleep or hibernate power management options? answer: | - BitLocker on operating system drives in its basic configuration (with a TPM but without other startup authentication) provides extra security for the hibernate mode. However, BitLocker provides greater security when it's configured to use another startup authentication factor (TPM+PIN, TPM+USB, or TPM+PIN+USB) with the hibernate mode. This method is more secure because returning from hibernation requires authentication. In sleep mode, the computer is vulnerable to direct memory access attacks, since unprotected data remains in RAM. Therefore, for improved security, it's recommended to disable sleep mode and to use TPM+PIN for the authentication method. Startup authentication can be configured by using [Group Policy](./bitlocker-group-policy-settings.md) or Mobile Device Management with the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp). + BitLocker on operating system drives in its basic configuration (with a TPM but without other startup authentication) provides extra security for the hibernate mode. However, BitLocker provides greater security when it's configured to use another startup authentication factor (TPM+PIN, TPM+USB, or TPM+PIN+USB) with the hibernate mode. This method is more secure because returning from hibernation requires authentication. In sleep mode, the computer is vulnerable to direct memory access attacks, since unprotected data remains in RAM. Therefore, for improved security, it's recommended to disable sleep mode and to use TPM+PIN for the authentication method. Startup authentication can be configured by using a [policy setting](policy-settings.md) or Mobile Device Management with the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp). - question: | What are the advantages of a TPM? diff --git a/windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md b/windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md index ebce5dd70e..8edb5a03a4 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md @@ -187,5 +187,5 @@ On Windows Server 2012 R2 and Windows 8.1 and older, recovery passwords generate - [BitLocker frequently asked questions (FAQ)](faq.yml) - [BitLocker](index.md) -- [BitLocker Group Policy settings](bitlocker-group-policy-settings.md) +- [BitLocker policy settings](policy-settings.md) - [BitLocker basic deployment](bitlocker-basic-deployment.md) diff --git a/windows/security/operating-system-security/data-protection/encrypted-hard-drive.md b/windows/security/operating-system-security/data-protection/encrypted-hard-drive.md index 42e381d999..a2961967ab 100644 --- a/windows/security/operating-system-security/data-protection/encrypted-hard-drive.md +++ b/windows/security/operating-system-security/data-protection/encrypted-hard-drive.md @@ -68,13 +68,13 @@ Configuration of encrypted hard drives as startup drives is done using the same - **Deploy from server**: This deployment method involves PXE booting a client with Encrypted Hard Drives present. Configuration of Encrypted Hard Drives happens automatically in this environment when the Enhanced Storage component is added to the PXE boot image. During deployment, the [TCGSecurityActivationDisabled](/windows-hardware/customize/desktop/unattend/microsoft-windows-enhancedstorage-adm-tcgsecurityactivationdisabled) setting in unattend.xml controls the encryption behavior of Encrypted Hard Drives. - **Disk Duplication**: This deployment method involves use of a previously configured device and disk duplication tools to apply a Windows image to an Encrypted Hard Drive. Disks must be partitioned using at least Windows 8 or Windows Server 2012 for this configuration to work. Images made using disk duplicators won't work. -## Configuring hardware-based encryption with group policy +## Configuring hardware-based encryption with policy settings -There are three related Group Policy settings that help you manage how BitLocker uses hardware-based encryption and which encryption algorithms to use. If these settings aren't configured or disabled on systems that are equipped with encrypted drives, BitLocker uses software-based encryption: +There are three related policy settings that help you manage how BitLocker uses hardware-based encryption and which encryption algorithms to use. If these settings aren't configured or disabled on systems that are equipped with encrypted drives, BitLocker uses software-based encryption: -- [Configure use of hardware-based encryption for fixed data drives](bitlocker/bitlocker-group-policy-settings.md#configure-use-of-hardware-based-encryption-for-fixed-data-drives) -- [Configure use of hardware-based encryption for removable data drives](bitlocker/bitlocker-group-policy-settings.md#configure-use-of-hardware-based-encryption-for-removable-data-drives) -- [Configure use of hardware-based encryption for operating system drives](bitlocker/bitlocker-group-policy-settings.md#configure-use-of-hardware-based-encryption-for-operating-system-drives) +- [Configure use of hardware-based encryption for fixed data drives](bitlocker/policy-settings.md#configure-use-of-hardware-based-encryption-for-fixed-data-drives) +- [Configure use of hardware-based encryption for removable data drives](bitlocker/policy-settings.md#configure-use-of-hardware-based-encryption-for-removable-data-drives) +- [Configure use of hardware-based encryption for operating system drives](bitlocker/policy-settings.md#configure-use-of-hardware-based-encryption-for-operating-system-drives) ## Encrypted hard drive architecture From d07bbb3b3e3c7b106592dcf154c0608e8e053d0f Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 25 Sep 2023 09:25:42 -0400 Subject: [PATCH 032/505] policies --- .../_bitlocker-group-policy-settings.md | 72 ------------------- .../allow-network-unlock-at-startup.md | 13 +++- .../allow-standard-user-encryption.md | 6 ++ ...llow-suspension-of-bitlocker-protection.md | 4 ++ .../configure-recovery-password-rotation.md | 14 ++++ ...re-additional-authentication-at-startup.md | 43 ++++++++++- 6 files changed, 78 insertions(+), 74 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index 940866d11b..5304105170 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -23,78 +23,6 @@ In other scenarios, to bring the drive into compliance with a change in Group Po The preboot authentication option **Require startup PIN with TPM** of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy is often enabled to help ensure security for older devices that don't support Modern Standby. But visually impaired users have no audible way to know when to enter a PIN. This setting enables an exception to the PIN-required policy on secure hardware. -### Allow network unlock at startup - -This policy controls a portion of the behavior of the Network Unlock feature in BitLocker. This policy is required to enable BitLocker Network Unlock on a network because it allows clients running BitLocker to create the necessary network key protector during encryption. - -This policy is used with the BitLocker Drive Encryption Network Unlock Certificate security policy (located in the **Public Key Policies** folder of Local Computer Policy) to allow systems that are connected to a trusted network to properly utilize the Network Unlock feature. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled whether a BitLocker-protected computer that is connected to a trusted local area network and joined to a domain can create and use network key protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|Clients configured with a BitLocker Network Unlock certificate can create and use Network Key Protectors.| -|**When disabled or not configured**|Clients can't create and use Network Key Protectors.| - -#### Reference: Allow network unlock at startup - -To use a network key protector to unlock the computer, the computer and the server that hosts BitLocker Drive Encryption Network Unlock must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create a network key protector and to protect the information exchange with the server to unlock the computer. The Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Public Key Policies** > **BitLocker Drive Encryption Network Unlock Certificate** can be used on the domain controller to distribute this certificate to computers in the organization. This unlock method uses the TPM on the computer, so computers that don't have a TPM can't create network key protectors to automatically unlock by using Network Unlock. - -> [!NOTE] -> For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or can't connect to the domain controller at startup. - -For more information about Network Unlock feature, see [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md). - -### Require additional authentication at startup - -This policy setting is used to control which unlock options are available for operating system drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether BitLocker requires additional authentication each time the computer starts and whether BitLocker will be used with a Trusted Platform Module (TPM). This policy setting is applied when BitLocker is turned on.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|If one authentication method is required, the other methods can't be allowed. Use of BitLocker with a TPM startup key or with a TPM startup key and a PIN must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.| -|**When enabled**|Users can configure advanced startup options in the BitLocker Setup Wizard.| -|**When disabled or not configured**|Users can configure only basic options on computers with a TPM.

Only one of the additional authentication options can be required at startup; otherwise, a policy error occurs.| - -#### Reference: Require additional authentication at startup - -If BitLocker needs to be used on a computer without a TPM, select **Allow BitLocker without a compatible TPM**. In this mode, a password or USB drive is required for startup. The USB drive stores the startup key that is used to encrypt the drive. When the USB drive is inserted, the startup key is authenticated, and the operating system drive is accessible. If the USB drive is lost or unavailable, BitLocker recovery is required to access the drive. - -On a computer with a compatible TPM, additional authentication methods can be used at startup to improve protection for encrypted data. When the computer starts, it can use: - -- Only the TPM -- Insertion of a USB flash drive containing the startup key -- The entry of a 4-digit to 20-digit personal identification number (PIN) -- A combination of the PIN and the USB flash drive - -There are four options for TPM-enabled computers or devices: - -- Configure TPM startup - - Allow TPM - - Require TPM - - Do not allow TPM -- Configure TPM startup PIN - - - Allow startup PIN with TPM - - Require startup PIN with TPM - - Do not allow startup PIN with TPM - -- Configure TPM startup key - - Allow startup key with TPM - - Require startup key with TPM - - Do not allow startup key with TPM - -- Configure TPM startup key and PIN - - Allow TPM startup key with PIN - - Require startup key and PIN with TPM - - Do not allow TPM startup key with PIN - ### Allow enhanced PINs for startup This policy setting permits the use of enhanced PINs when an unlock method that includes a PIN is used. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md index 09c7b303dd..ac0dfcfec2 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md @@ -7,7 +7,18 @@ ms.topic: include ### Allow network unlock at startup -This policy setting controls whether a BitLocker-protected computer that is connected to a trusted wired Local Area Network (LAN) and joined to a domain can create and use Network Key Protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started. If you enable this policy, clients configured with a BitLocker Network Unlock certificate will be able to create and use Network Key Protectors. To use a Network Key Protector to unlock the computer, both the computer and the BitLocker Drive Encryption Network Unlock server must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create Network Key Protectors, and protects the information exchanged with the server to unlock the computer. You can use the group policy setting "Computer Configuration\Windows Settings\Security Settings\Public Key Policies\BitLocker Drive Encryption Network Unlock Certificate" on the domain controller to distribute this certificate to computers in your organization. This unlock method uses the TPM on the computer, so computers that do not have a TPM cannot create Network Key Protectors to automatically unlock with Network Unlock. If you disable or do not configure this policy setting, BitLocker clients will not be able to create and use Network Key Protectors. Note: For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or the server at startup. +This policy setting controls whether a BitLocker-protected device that is connected to a trusted wired Local Area Network (LAN) can create and use Network Key Protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started. + +If you enable this policy, devices configured with a *BitLocker Network Unlock certificate* will be able to create and use Network Key Protectors. To use a Network Key Protector to unlock the computer, both the computer and the BitLocker Drive Encryption Network Unlock server must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create Network Key Protectors, and protects the information exchanged with the server to unlock the computer. + +The Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Public Key Policies** > **BitLocker Drive Encryption Network Unlock Certificate** can be used on the domain controller to distribute this certificate to computers in the organization. This unlock method uses the TPM on the computer, so computers that don't have a TPM cannot create Network Key Protectors to automatically unlock with Network Unlock. + +If you disable or do not configure this policy setting, BitLocker clients will not be able to create and use Network Key Protectors. + +> [!NOTE] +> For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or the server at startup. + +For more information about Network Unlock feature, see [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md) | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md index ae559c51e2..45e5397263 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md @@ -7,6 +7,12 @@ ms.topic: include ### Allow Standard User Encryption +With this policy you can enforce the *RequireDeviceEncryption* policy for scenarios where policy is pushed while current logged-on user is non-admin/standard user. + +*AllowStandardUserEncryption* policy is tied to [Allow warning for other disk encryption](#allow-warning-for-other-disk-encryption) policy being disabled (value `0`). + +If *AllowWarningForOtherDiskEncryption* isn't set, or is set to `1`, *RequireDeviceEncryption* policy doesn't try to encrypt drive(s) if a standard user is logged-on. + | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md index 719c31742b..14461138e4 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md @@ -7,6 +7,10 @@ ms.topic: include ### Allow suspension of BitLocker protection +When enabled, this policy allows suspending BitLocker protection. When disabled, it prevents suspending BitLocker protection. + +The default value is *enabled*. + | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection)| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md index 1ca8c4e414..f3db70acbc 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md @@ -7,6 +7,20 @@ ms.topic: include ### Configure recovery password rotation +With this policy you can configure a numeric recovery password rotation upon use for OS and fixed drives on Microsoft Entra joined and Microsoft Entra hybrid joined devices. + +Possible values are: + +- `0`: numeric recovery password rotation is turned off +- `1`: numeric recovery password rotation upon use is *on* for Microsoft Entra joined devices joined devices. This is also the default value +- `2`: numeric recovery password rotation upon use is *on* for both Microsoft Entra joined devices and Microsoft Entra hybrid joined devices + +> [!NOTE] +> The Policy is effective only when Micropsoft Entra ID or Active Directory back up for recovery password is configured to *required* +> +> - For OS drive: enable "Do not enable BitLocker until recovery information is stored to AD DS for operating system drives" +> - For Fixed drives: enable "Do not enable BitLocker until recovery information is stored to AD DS for fixed data drives" + | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[ConfigureRecoveryPasswordRotation](/windows/client-management/mdm/bitlocker-csp#configurerecoverypasswordrotation)| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md index 88786322d0..c20e3989ef 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md @@ -7,7 +7,48 @@ ms.topic: include ### Require additional authentication at startup -This policy setting allows you to configure whether BitLocker requires additional authentication each time the computer starts and whether you are using BitLocker with or without a Trusted Platform Module (TPM). Note: Only one of the additional authentication options can be required at startup, otherwise a policy error occurs. If you want to use BitLocker on a computer without a TPM, select the "Allow BitLocker without a compatible TPM" check box. In this mode either a password or a USB drive is required for start-up. When using a startup key, the key information used to encrypt the drive is stored on the USB drive, creating a USB key. When the USB key is inserted the access to the drive is authenticated and the drive is accessible. If the USB key is lost or unavailable or if you have forgotten the password then you will need to use one of the BitLocker recovery options to access the drive. On a computer with a compatible TPM, four types of authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can use only the TPM for authentication, or it can also require insertion of a USB flash drive containing a startup key, the entry of a 6-digit to 20-digit personal identification number (PIN), or both. If you enable this policy setting, users can configure advanced startup options in the BitLocker setup wizard. If you disable or do not configure this policy setting, users can configure only basic options on computers with a TPM. Note: If you want to require the use of a startup PIN and a USB flash drive, you must configure BitLocker settings using the command-line tool manage-bde instead of the BitLocker Drive Encryption setup wizard. +This policy configures whether BitLocker requires additional authentication each time the device starts. + +If you enable this policy, users can configure advanced startup options in the BitLocker setup wizard.\ +If you disable or don't configure this policy setting, users can configure only basic options on computers with a TPM. + +> [!NOTE] +> Only one of the additional authentication options can be required at startup, otherwise a policy error occurs. + +If you want to use BitLocker on a device without a TPM, select the option **Allow BitLocker without a compatible TPM**. In this mode, either a password or a USB drive is required for startup.\ +When using a startup key, the key information used to encrypt the drive is stored on the USB drive, creating a USB key. When the USB key is inserted, the access to the drive is authenticated and the drive is accessible. If the USB key is lost or unavailable, or if you have forgotten the password, then you'll need to use one of the BitLocker recovery options to access the drive. + +On a computer with a compatible TPM, four types of authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can use: + +- TPM only +- a USB flash drive containing a startup key +- a PIN (6-digit to 20-digit) +- PIN + USB flash drive + +> [!NOTE] +> If you want to require the use of a startup PIN and a USB flash drive, you must configure BitLocker settings using the command-line tool [manage-bde](/windows-server/administration/windows-commands/manage-bde) instead of the BitLocker Drive Encryption setup wizard. + +There are four options for TPM-enabled devices: + +- Configure TPM startup + - Allow TPM + - Require TPM + - Do not allow TPM + +- Configure TPM startup PIN + - Allow startup PIN with TPM + - Require startup PIN with TPM + - Do not allow startup PIN with TPM + +- Configure TPM startup key + - Allow startup key with TPM + - Require startup key with TPM + - Do not allow startup key with TPM + +- Configure TPM startup key and PIN + - Allow TPM startup key with PIN + - Require startup key and PIN with TPM + - Do not allow TPM startup key with PIN | | Path | |--|--| From 7088c03894e3e909bc62597d0955613b41628474 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 25 Sep 2023 10:13:10 -0400 Subject: [PATCH 033/505] policies --- .../bitlocker/includes/allow-standard-user-encryption.md | 6 +++--- .../disable-new-dma-devices-when-this-computer-is-locked.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md index 45e5397263..6ad7132b5e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md @@ -7,13 +7,13 @@ ms.topic: include ### Allow Standard User Encryption -With this policy you can enforce the *RequireDeviceEncryption* policy for scenarios where policy is pushed while current logged-on user is non-admin/standard user. +With this policy you can enforce the [*RequireDeviceEncryption*](../policy-settings.md?tabs=os#require-device-encryption) policy for scenarios where policy is applied while current logged-on user is non-admin/standard user. -*AllowStandardUserEncryption* policy is tied to [Allow warning for other disk encryption](#allow-warning-for-other-disk-encryption) policy being disabled (value `0`). +*AllowStandardUserEncryption* policy is tied to [Allow warning for other disk encryption](../policy-settings.md?tabs=os#allow-warning-for-other-disk-encryption) policy being disabled (value `0`). If *AllowWarningForOtherDiskEncryption* isn't set, or is set to `1`, *RequireDeviceEncryption* policy doesn't try to encrypt drive(s) if a standard user is logged-on. | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowStandardUserEncryption](/windows/client-management/mdm/bitlocker-csp#allowstandarduserencryption)| -| **GPO** | Not available | \ No newline at end of file +| **GPO** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md index 467908e39a..f1835f9603 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md @@ -7,7 +7,7 @@ ms.topic: include ### Disable new DMA devices when this computer is locked -This policy setting allows you to block direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. +This policy allows blocking direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. | | Path | |--|--| From e7b1512e60e61733425f93e578f09335c8502368 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 25 Sep 2023 12:49:46 -0400 Subject: [PATCH 034/505] updates --- .../_bitlocker-group-policy-settings.md | 274 +----------------- .../allow-enhanced-pins-for-startup.md | 7 +- .../allow-standard-user-encryption.md | 9 +- ...llow-suspension-of-bitlocker-protection.md | 5 +- ...onfigure-minimum-pin-length-for-startup.md | 5 +- ...f-passwords-for-operating-system-drives.md | 22 +- ...users-from-changing-the-pin-or-password.md | 5 +- .../includes/require-device-encryption.md | 15 + .../bitlocker/policy-settings.md | 10 + 9 files changed, 70 insertions(+), 282 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index 5304105170..d6fc3d6d9a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -10,55 +10,9 @@ ms.date: 11/08/2022 # BitLocker group policy settings -If a device isn't compliant with existing settings, BitLocker may not be turned on, or BitLocker configuration may be modified until the computer is in a compliant state. When a drive becomes out of compliance with policy settings, only changes to the BitLocker configuration that will bring it into compliance are allowed. This scenario could occur, for example, if a previously encrypted drive was brought out of compliance by change in Group Policy settings. - -If multiple changes are necessary to bring the drive into compliance, BitLocker protection may need to be suspended, the necessary changes made, and then protection resumed. This situation could occur, for example, if a removable drive is initially configured for unlock with a password but then Group Policy settings are changed to disallow passwords and require smart cards. In this situation, BitLocker protection needs to be suspended by using the [Manage-bde](/windows-server/administration/windows-commands/manage-bde) command-line tool, delete the password unlock method, and add the smart card method. After this process is complete, BitLocker is compliant with the Group Policy setting, and BitLocker protection on the drive can be resumed. - -In other scenarios, to bring the drive into compliance with a change in Group Policy settings, BitLocker may need to be disabled and the drive decrypted followed by reenabling BitLocker and then re-encrypting the drive. An example of this scenario is when the BitLocker encryption method or cipher strength is changed. The [Manage-bde](/windows-server/administration/windows-commands/manage-bde) command-line can also be used in this scenario to help bring the device into compliance. - -## BitLocker group policy settings details - -#### Reference: Allow devices with secure boot and protected DMA ports to opt out of preboot PIN - -The preboot authentication option **Require startup PIN with TPM** of the [Require additional authentication at startup](#require-additional-authentication-at-startup) policy is often enabled to help ensure security for older devices that don't support Modern Standby. But visually impaired users have no audible way to know when to enter a PIN. -This setting enables an exception to the PIN-required policy on secure hardware. - -### Allow enhanced PINs for startup - -This policy setting permits the use of enhanced PINs when an unlock method that includes a PIN is used. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether enhanced startup PINs are used with BitLocker.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|All new BitLocker startup PINs that are set will be enhanced PINs. Existing drives that were protected by using standard startup PINs aren't affected.| -|**When disabled or not configured**|Enhanced PINs won't be used.| - -#### Reference: Allow enhanced PINs for startup - -Enhanced startup PINs permit the use of characters (including uppercase and lowercase letters, symbols, numbers, and spaces). This policy setting is applied when BitLocker is turned on. - -> [!IMPORTANT] -> Not all computers support enhanced PIN characters in the preboot environment. It's strongly recommended that users perform a system check during the BitLocker setup to verify that enhanced PIN characters can be used. - ### Configure minimum PIN length for startup -This policy setting is used to set a minimum PIN length when an unlock method that includes a PIN is used. -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured a minimum length for a TPM startup PIN. This policy setting is applied when BitLocker is turned on. The startup PIN must have a minimum length of four digits, and it can have a maximum length of 20 digits. By default, the minimum PIN length is 6.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|The required minimum length of startup PINs set by users can be set between 4 and 20 digits.| -|**When disabled or not configured**|Users can configure a startup PIN of any length between 6 and 20 digits.| - -#### Reference: Configure minimum PIN length for startup This policy setting is applied when BitLocker is turned on. The startup PIN must have a minimum length of four digits and can have a maximum length of 20 digits. @@ -70,8 +24,6 @@ The Dictionary Attack Prevention Parameters provide a way to balance security ne Increasing the PIN length requires a greater number of guesses for an attacker. In that case, the lockout duration between each guess can be shortened to allow legitimate users to retry a failed attempt sooner, while maintaining a similar level of protection. -Beginning with Windows 10, version 1703, the minimum length for the BitLocker PIN was increased to six characters to better align with other Windows features that use TPM 2.0, including Windows Hello. To help organizations with the transition, beginning with Windows 10, version 1709 and Windows 10, version 1703 with the October 2017 [cumulative update](https://support.microsoft.com/help/4018124) installed, the BitLocker PIN length is six characters by default, but it can be reduced to four characters. If the minimum PIN length is reduced from the default of six characters, then the TPM 2.0 lockout period will be extended. - ### Disable new DMA devices when this computer is locked This policy setting allows blocking of direct memory access (DMA) for all hot pluggable PCI ports until a user signs in to Windows. @@ -79,7 +31,6 @@ This policy setting allows blocking of direct memory access (DMA) for all hot pl | Item | Info | |:---|:---| |**Policy description**|This setting helps prevent attacks that use external PCI-based devices to access BitLocker keys.| -|**Introduced**|Windows 10, version 1703| |**Drive type**|Operating system drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| |**Conflicts**|None| @@ -90,91 +41,6 @@ This policy setting allows blocking of direct memory access (DMA) for all hot pl This policy setting is only enforced when BitLocker or device encryption is enabled. As explained in the [Microsoft Security Guidance blog](/archive/blogs/secguide/issue-with-bitlockerdma-setting-in-windows-10-fall-creators-update-v1709), in some cases when this setting is enabled, internal, PCI-based peripherals can fail, including wireless network drivers and input and audio peripherals. This problem is fixed in the [April 2018 quality update](https://support.microsoft.com/help/4093105). -### Disallow standard users from changing the PIN or password - -This policy setting allows configuration of whether standard users are allowed to change the PIN or password that is used to protect the operating system drive. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether standard users are allowed to change the PIN or password used to protect the operating system drive.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|Standard users aren't allowed to change BitLocker PINs or passwords.| -|**When disabled or not configured**|Standard users are permitted to change BitLocker PINs or passwords.| - -#### Reference: Disallow standard users from changing the PIN or password - -To change the PIN or password, the user must be able to provide the current PIN or password. This policy setting is applied when BitLocker is turned on. - -### Configure use of passwords for operating system drives - -This policy controls how non-TPM based systems utilize the password protector. Used with the **Password must meet complexity requirements** policy, this policy allows administrators to require password length and complexity for using the password protector. By default, passwords must be eight characters in length. Complexity configuration options determine how important domain connectivity is for the client. For the strongest password security, administrators should choose **Require password complexity** because it requires domain connectivity, and it requires that the BitLocker password meets the same password complexity requirements as domain sign-in passwords. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, the constraints for passwords that are used to unlock operating system drives that are protected with BitLocker can be specified.| -|**Introduced**|Windows Server 2012 and Windows 8| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|Passwords can't be used if FIPS-compliance is enabled.
**NOTE:** The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting, which is located at *Computer Configuration* > *Windows Settings* > *Security Settings* > *Local Policies* > *Security Options* specifies whether FIPS-compliance is enabled.
| -|**When enabled**|Users can configure a password that meets the defined requirements. To enforce complexity requirements for the password, select **Require complexity**.| -|**When disabled or not configured**|The default length constraint of eight characters will apply to operating system drive passwords and no complexity checks will occur.| - -#### Reference: Configure use of passwords for operating system drives - -If non-TPM protectors are allowed on operating system drives, a password, enforcement of complexity requirements on the password, and configuration of a minimum length for the password can all be provisioned. For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements**, which is located at *Computer Configuration* > *Windows Settings* > *Security Settings* > *Account Policies* > *Password Policy*, must be also enabled. - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. - -When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. If no domain controllers are found, the password will be accepted regardless of actual password complexity, and the drive will be encrypted by using that password as a protector. When set to **Do not allow complexity**, there's no password complexity validation. - -Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the desired number of characters in the **Minimum password length** box. - -When this policy setting is enabled, the option **Configure password complexity for operating system drives** can be set to: - -- Allow password complexity -- Deny password complexity -- Require password complexity - -### Require additional authentication at startup (Windows Server 2008 and Windows Vista) - -This policy setting is used to control what unlock options are available for computers running Windows Server 2008 or Windows Vista. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled whether the BitLocker Setup Wizard on computers running Windows Vista or Windows Server 2008 can set up an additional authentication method that is required each time the computer starts.| -|**Introduced**|Windows Server 2008 and Windows Vista| -|**Drive type**|Operating system drives (Windows Server 2008 and Windows Vista)| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|If an additional authentication method is chosen, other authentication methods can't be allowed.| -|**When enabled**|The BitLocker Setup Wizard displays the page that allows the user to configure advanced startup options for BitLocker. Setting options can be further configured for computers with or without a TPM.| -|**When disabled or not configured**|The BitLocker Setup Wizard displays basic steps that allow users to enable BitLocker on computers with a TPM. In this basic wizard, no additional startup key or startup PIN can be configured.| - -#### Reference: Require additional authentication at startup (Windows Server 2008 and Windows Vista) - -On a computer with a compatible TPM, two authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can prompt users to insert a USB drive that contains a startup key. It can also prompt users to enter a startup PIN with a length between 6 and 20 digits. - -A USB drive that contains a startup key is needed on computers without a compatible TPM. Without a TPM, BitLocker-encrypted data is protected solely by the key material that is on this USB drive. - -There are two options for TPM-enabled computers or devices: - -- Configure TPM startup PIN - - Allow startup PIN with TPM - - Require startup PIN with TPM - - Do not allow startup PIN with TPM - -- Configure TPM startup key - - Allow startup key with TPM - - Require startup key with TPM - - Do not allow startup key with TPM - -These options are mutually exclusive. If a startup key is required, a startup PIN isn't allowed. If startup PIN is required, startup key isn't allowed. If these policies are in conflict, a policy error will occur. - -To hide the advanced page on a TPM-enabled computer or device, set these options to **Do not allow** for the startup key and for the startup PIN. - ### Configure use of smart cards on fixed data drives This policy setting is used to require, allow, or deny the use of smart cards with fixed data drives. @@ -182,7 +48,6 @@ This policy setting is used to require, allow, or deny the use of smart cards wi | Item | Info | |:---|:---| |**Policy description**|This policy setting can be used to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives on a computer.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Fixed data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| |**Conflicts**|To use smart cards with BitLocker, the object identifier setting in the **Computer Configuration\Administrative Templates\BitLocker Drive Encryption\Validate smart card certificate usage rule compliance** policy setting may need to be modified to match the object identifier of the smart card certificates.| @@ -202,7 +67,6 @@ This policy setting is used to require, allow, or deny the use of passwords with | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be specified whether a password is required to unlock BitLocker-protected fixed data drives.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Fixed data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| |**Conflicts**|To use password complexity, the **Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\Password must meet complexity requirements** policy setting must also be enabled.| @@ -237,7 +101,6 @@ This policy setting is used to require, allow, or deny the use of smart cards wi | Item | Info | |:---|:---| |**Policy description**|This policy setting can be used to specify whether smart cards can be used to authenticate user access to BitLocker-protected removable data drives on a computer.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Removable data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| |**Conflicts**|To use smart cards with BitLocker, the object identifier setting in the **Computer Configuration** > **Administrative Templates** > **BitLocker Drive Encryption** > **Validate smart card certificate usage rule compliance** policy setting may also need to be modified to match the object identifier of the smart card certificates.| @@ -257,7 +120,6 @@ This policy setting is used to require, allow, or deny the use of passwords with | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be specified whether a password is required to unlock BitLocker-protected removable data drives.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Removable data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| |**Conflicts**|To use password complexity, the **Password must meet complexity requirements** policy setting, which is located at **Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy** must also be enabled.| @@ -292,7 +154,6 @@ This policy setting is used to determine what certificate to use with BitLocker. | Item | Info | |:---|:---| |**Policy description**|With this policy setting, an object identifier from a smart card certificate can be associated to a BitLocker-protected drive.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Fixed and removable data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| |**Conflicts**|None| @@ -315,7 +176,6 @@ The default object identifier is 1.3.6.1.4.1.311.67.1.1. | Item | Info | |:---|:---| |**Policy description**|With this policy setting, users can be allowed to enable authentication options that require user input from the preboot environment, even if the platform indicates a lack of preboot input capability.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Operating system drive| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| |**Conflicts**|None| @@ -343,7 +203,6 @@ This policy setting is used to require encryption of fixed drives prior to grant | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be set whether BitLocker protection is required for fixed data drives to be writable on a computer.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Fixed data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| |**Conflicts**|See the Reference section for a description of conflicts.| @@ -375,7 +234,6 @@ This policy setting is used to require that removable drives are encrypted prior | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be configured whether BitLocker protection is required for a computer to be able to write data to a removable data drive.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Removable data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| |**Conflicts**|See the Reference section for a description of conflicts.| @@ -404,7 +262,6 @@ This policy setting is used to prevent users from turning BitLocker on or off on | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be controlled the use of BitLocker on removable data drives.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Removable data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| |**Conflicts**|None| @@ -431,7 +288,6 @@ This policy controls how BitLocker reacts to systems that are equipped with encr | Item | Info | |:---|:---| |**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on fixed data drives and to specify which encryption algorithms BitLocker can use with hardware-based encryption.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Fixed data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| |**Conflicts**|None| @@ -456,7 +312,6 @@ This policy controls how BitLocker reacts when encrypted drives are used as oper | Item | Info | |:---|:---| |**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on operating system drives and specifies which encryption algorithms it can use with hardware-based encryption.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Operating system drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| |**Conflicts**|None| @@ -483,7 +338,6 @@ This policy controls how BitLocker reacts to encrypted drives when they're used | Item | Info | |:---|:---| |**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on removable data drives and specifies which encryption algorithms it can use with hardware-based encryption.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Removable data drive| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| |**Conflicts**|None| @@ -510,7 +364,6 @@ This policy controls whether fixed data drives utilize Used Space Only encryptio | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Fixed data drive| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| |**Conflicts**|None| @@ -533,7 +386,6 @@ This policy controls whether operating system drives utilize Full encryption or | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Operating system drive| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| |**Conflicts**|None| @@ -556,7 +408,6 @@ This policy controls whether fixed data drives utilize Full encryption or Used S | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Removable data drive| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| |**Conflicts**|None| @@ -579,7 +430,6 @@ This policy setting is used to configure recovery methods for operating system d | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be controlled how BitLocker-protected operating system drives are recovered in the absence of the required startup key information.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Operating system drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| |**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| @@ -605,69 +455,7 @@ Select the **Do not enable BitLocker until recovery information is stored in AD > [!NOTE] > If the **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** check box is selected, a recovery password is automatically generated. -### Choose how users can recover BitLocker-protected drives (Windows Server 2008 and Windows Vista) -This policy setting is used to configure recovery methods for BitLocker-protected drives on computers running Windows Server 2008 or Windows Vista. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled whether the BitLocker Setup Wizard can display and specify BitLocker recovery options.| -|**Introduced**|Windows Server 2008 and Windows Vista| -|**Drive type**|Operating system drives and fixed data drives on computers running Windows Server 2008 and Windows Vista| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|This policy setting provides an administrative method of recovering data that is encrypted by BitLocker to prevent data loss due to lack of key information. If the **Do not allow** option is chosen for both user recovery options, the **Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista)** policy setting must be enabled to prevent a policy error.| -|**When enabled**|The options that the BitLocker Setup Wizard displays to users for recovering BitLocker encrypted data can be configured.| -|**When disabled or not configured**|The BitLocker Setup Wizard presents users with ways to store recovery options.| - -#### Reference: Choose how users can recover BitLocker-protected drives (Windows Server 2008 and Windows Vista) - -This policy is only applicable to computers running Windows Server 2008 or Windows Vista. This policy setting is applied when BitLocker is turned on. - -Two recovery options can be used to unlock BitLocker-encrypted data in the absence of the required startup key information. Users can type a 48-digit numerical recovery password, or they can insert a USB drive that contains a 256-bit recovery key. - -- Saving the recovery password to a USB drive stores the 48-digit recovery password as a text file and the 256-bit recovery key as a hidden file. -- Saving the recovery password to a folder stores the 48-digit recovery password as a text file. -- Printing the recovery password sends the 48-digit recovery password to the default printer. - -For example, not allowing the 48-digit recovery password prevents users from printing or saving recovery information to a folder. - -> [!IMPORTANT] -> If TPM initialization is performed during the BitLocker setup, TPM owner information is saved or printed with the BitLocker recovery information. -> The 48-digit recovery password isn't available in FIPS-compliance mode. - -> [!IMPORTANT] -> To prevent data loss, there must be a way to recover BitLocker encryption keys. If both recovery options are not allowed, backup of BitLocker recovery information to AD DS must be enabled. Otherwise, a policy error occurs. - -### Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista) - -This policy setting is used to configure the storage of BitLocker recovery information in AD DS. This policy setting provides an administrative method of recovering data that is encrypted by BitLocker to prevent data loss due to lack of key information. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting allows management of the AD DS backup of BitLocker Drive Encryption recovery information.| -|**Introduced**|Windows Server 2008 and Windows Vista| -|**Drive type**|Operating system drives and fixed data drives on computers running Windows Server 2008 and Windows Vista.| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|BitLocker recovery information is automatically and silently backed up to AD DS when BitLocker is turned on for a computer.| -|**When disabled or not configured**|BitLocker recovery information isn't backed up to AD DS.| - -#### Reference: Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista) - -This policy is only applicable to computers running Windows Server 2008 or Windows Vista. - -This policy setting is applied when BitLocker is turned on. - -BitLocker recovery information includes the recovery password and unique identifier data. A package that contains an encryption key for a BitLocker-protected drive can also be included. This key package is secured by one or more recovery passwords, and it can help perform specialized recovery when the disk is damaged or corrupted. - -If **Require BitLocker backup to AD DS** is selected, BitLocker can't be turned on unless the computer is connected to the domain, and the backup of BitLocker recovery information to AD DS succeeds. This option is selected by default to help ensure that BitLocker recovery is possible. - -A recovery password is a 48-digit number that unlocks access to a BitLocker-protected drive. A key package contains a drive's BitLocker encryption key, which is secured by one or more recovery passwords. Key packages may help perform specialized recovery when the disk is damaged or corrupted. - -If the **Require BitLocker backup to AD DS** option isn't selected, AD DS backup is attempted, but network or other backup failures don't prevent the BitLocker setup. The Backup process isn't automatically retried, and the recovery password might not be stored in AD DS during BitLocker setup. -TPM initialization might be needed during the BitLocker setup. Enable the **Turn on TPM backup to Active Directory Domain Services** policy setting in **Computer Configuration** > **Administrative Templates** > **System** > **Trusted Platform Module Services** to ensure that TPM information is also backed up. - -For more information about this setting, see [TPM Group Policy settings](/windows/device-security/tpm/trusted-platform-module-services-group-policy-settings). ### Choose how BitLocker-protected fixed drives can be recovered @@ -676,7 +464,6 @@ This policy setting is used to configure recovery methods for fixed data drives. | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be controlled how BitLocker-protected fixed data drives are recovered in the absence of the required credentials.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Fixed data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| |**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| @@ -709,7 +496,6 @@ This policy setting is used to configure recovery methods for removable data dri | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be controlled how BitLocker-protected removable data drives are recovered in the absence of the required credentials.| -|**Introduced**|Windows Server 2008 R2 and Windows 7| |**Drive type**|Removable data drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| |**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| @@ -770,7 +556,6 @@ This policy controls how BitLocker-enabled system volumes are handled with the S | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be configured whether Secure Boot will be allowed as the platform integrity provider for BitLocker operating system drives.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|All drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| |**Conflicts**|If **Allow Secure Boot for integrity validation** is enabled, make sure the Configure TPM platform validation profile for native UEFI firmware configurations Group Policy setting isn't enabled, or include PCR 7 to allow BitLocker to use Secure Boot for platform or BCD integrity validation.

For more information about PCR 7, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article.| @@ -779,7 +564,7 @@ This policy controls how BitLocker-enabled system volumes are handled with the S #### Reference: Allow Secure Boot for integrity validation -Secure boot ensures that the computer's pre-boot environment loads only firmware that is digitally signed by authorized software publishers. Secure boot also started providing more flexibility for managing pre-boot configurations than BitLocker integrity checks prior to Windows Server 2012 and Windows 8. +Secure boot ensures that the computer's pre-boot environment loads only firmware that is digitally signed by authorized software publishers. When this policy is enabled and the hardware is capable of using secure boot for BitLocker scenarios, the **Use enhanced Boot Configuration Data validation profile** group policy setting is ignored, and secure boot verifies BCD settings according to the secure boot policy setting, which is configured separately from BitLocker. @@ -837,7 +622,6 @@ This policy setting determines what values the TPM measures when it validates ea | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be configured how the computer's TPM security hardware secures the BitLocker encryption key.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Operating system drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| |**Conflicts**|None| @@ -880,56 +664,6 @@ The following list identifies all of the available PCRs: - PCR 11: BitLocker access control - PCR 12-23: Reserved for future use -### Configure TPM platform validation profile (Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2) - -This policy setting determines what values the TPM measures when it validates early boot components before unlocking a drive on a computer running Windows Vista, Windows Server 2008, or Windows 7. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured how the computer's TPM security hardware secures the BitLocker encryption key.| -|**Introduced**|Windows Server 2008 and Windows Vista| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|The boot components that the TPM validates before unlocking access to the BitLocker-encrypted operating system drive can be configured. If any of these components change while BitLocker protection is in effect, the TPM doesn't release the encryption key to unlock the drive. Instead, the computer displays the BitLocker Recovery console and requires that the recovery password or the recovery key is provided to unlock the drive.| -|**When disabled or not configured**|The TPM uses the default platform validation profile or the platform validation profile that is specified by the setup script.| - -#### Reference: Configure TPM platform validation profile (Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2) - -This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker is already turned on with TPM protection. - -A platform validation profile consists of a set of PCR indices that range from 0 to 23. The default platform validation profile secures the encryption key against changes to the following PCRs: - -- Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0) -- Option ROM Code (PCR 2) -- Master Boot Record (MBR) Code (PCR 4) -- NTFS Boot Sector (PCR 8) -- NTFS Boot Block (PCR 9) -- Boot Manager (PCR 10) -- BitLocker Access Control (PCR 11) - -> [!NOTE] -> The default TPM validation profile PCR settings for computers that use an Extensible Firmware Interface (EFI) are the PCRs 0, 2, 4, and 11 only. - -The following list identifies all of the available PCRs: - -- PCR 0: Core root-of-trust for measurement, EFI boot and run-time services, EFI drivers embedded in system ROM, ACPI static tables, embedded SMM code, and BIOS code -- PCR 1: Platform and motherboard configuration and data. Hand-off tables and EFI variables that affect system configuration -- PCR 2: Option ROM code -- PCR 3: Option ROM data and configuration -- PCR 4: Master Boot Record (MBR) code or code from other boot devices -- PCR 5: Master Boot Record (MBR) partition table. Various EFI variables and the GPT table -- PCR 6: State transition and wake events -- PCR 7: Computer manufacturer-specific -- PCR 8: NTFS boot sector -- PCR 9: NTFS boot block -- PCR 10: Boot manager -- PCR 11: BitLocker access control -- PCR 12 - 23: Reserved for future use - -> [!WARNING] -> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. - ### Configure TPM platform validation profile for native UEFI firmware configurations This policy setting determines what values the TPM measures when it validates early boot components before unlocking an operating system drive on a computer with native UEFI firmware configurations. @@ -937,7 +671,6 @@ This policy setting determines what values the TPM measures when it validates ea | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be configured how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Operating system drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| |**Conflicts**|Setting this policy with PCR 7 omitted overrides the **Allow Secure Boot for integrity validation** Group Policy setting, and it prevents BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation.

If an environment uses TPM and Secure Boot for platform integrity checks, this policy is configured.

For more information about PCR 7, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article.| @@ -985,7 +718,6 @@ This policy setting determines if platform validation data should refresh when W | Item | Info | |:---|:---| |**Policy description**|With this policy setting, it can be controlled whether platform validation data is refreshed when Windows is started following a BitLocker recovery.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Operating system drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| |**Conflicts**|None| @@ -1004,12 +736,11 @@ This policy setting determines specific Boot Configuration Data (BCD) settings t | Item | Info | |:---|:---| |**Policy description**|With this policy setting, Boot Configuration Data (BCD) settings to verify during platform validation can be specified.| -|**Introduced**|Windows Server 2012 and Windows 8| |**Drive type**|Operating system drives| |**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| |**Conflicts**|When BitLocker is using Secure Boot for platform and Boot Configuration Data integrity validation, the **Use enhanced Boot Configuration Data validation profile** Group Policy setting is ignored (as defined by the **Allow Secure Boot for integrity validation** Group Policy setting).| |**When enabled**|Additional BCD settings can be added and specified BCD settings can be excluded. Also a customized BCD validation profile can be created by combining inclusion and exclusion lists. The customized BCD validation profile gives the ability to verify BCD settings.| -|**When disabled**|The computer reverts to a BCD profile validation similar to the default BCD profile that is used by Windows 7.| +|**When disabled**|The computer reverts to a BCD profile validation.| |**When not configured**|The computer verifies the default BCD settings in Windows.| #### Reference: Use enhanced Boot Configuration Data validation profile @@ -1024,7 +755,6 @@ The Federal Information Processing Standard (FIPS) setting for FIPS compliance c | Item | Info | |:---|:---| |**Policy description**|Notes| -|**Introduced**|Windows Server 2003 with SP1| |**Drive type**|System-wide| |**Policy path**|*Local Policies* > *Security Options* > *System cryptography*: **Use FIPS compliant algorithms for encryption, hashing, and signing**| |**Conflicts**|Some applications, such as Terminal Services, don't support FIPS-140 on all operating systems.| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-enhanced-pins-for-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-enhanced-pins-for-startup.md index 1b5e18ac5e..8a731738b3 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-enhanced-pins-for-startup.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-enhanced-pins-for-startup.md @@ -7,7 +7,12 @@ ms.topic: include ### Allow enhanced PINs for startup -This policy setting allows you to configure whether or not enhanced startup PINs are used with BitLocker. Enhanced startup PINs permit the use of characters including uppercase and lowercase letters, symbols, numbers, and spaces. If you enable this policy setting, all new BitLocker startup PINs set will be enhanced PINs. Note: Not all computers may support enhanced PINs in the pre-boot environment. It is strongly recommended that users perform a system check during BitLocker setup. If you disable or do not configure this policy setting, enhanced PINs will not be used. +This setting permits the use of enhanced PINs when an unlock method that includes a PIN is used. + +Enhanced startup PINs permit the use of characters (including uppercase and lowercase letters, symbols, numbers, and spaces). + +> [!IMPORTANT] +> Not all computers support enhanced PIN characters in the preboot environment. It's strongly recommended that users perform a system check during the BitLocker setup to verify that enhanced PIN characters can be used. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md index 6ad7132b5e..92e699110e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-standard-user-encryption.md @@ -5,13 +5,12 @@ ms.date: 09/24/2023 ms.topic: include --- -### Allow Standard User Encryption +### Allow standard user encryption -With this policy you can enforce the [*RequireDeviceEncryption*](../policy-settings.md?tabs=os#require-device-encryption) policy for scenarios where policy is applied while current logged-on user is non-admin/standard user. +With this policy you can enforce the [*Require device encryption*](../policy-settings.md?tabs=os#require-device-encryption) policy for scenarios where the policy is applied while the current logged-on user doesn't have administrative rights. -*AllowStandardUserEncryption* policy is tied to [Allow warning for other disk encryption](../policy-settings.md?tabs=os#allow-warning-for-other-disk-encryption) policy being disabled (value `0`). - -If *AllowWarningForOtherDiskEncryption* isn't set, or is set to `1`, *RequireDeviceEncryption* policy doesn't try to encrypt drive(s) if a standard user is logged-on. +> [!IMPORTANT] +> The [Allow warning for other disk encryption](../policy-settings.md?tabs=os#allow-warning-for-other-disk-encryption) policy must be disabled to allow standard user encryption. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md index 14461138e4..c1d0ba1e66 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md @@ -7,10 +7,13 @@ ms.topic: include ### Allow suspension of BitLocker protection -When enabled, this policy allows suspending BitLocker protection. When disabled, it prevents suspending BitLocker protection. +When enabled, this policy allows the suspension of BitLocker protection. When disabled, it prevents suspending BitLocker protection. The default value is *enabled*. +> [!NOTE] +> This policy is applicable to Windows insider builds. + | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection)| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md index af4e47bf45..0ab77f463a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md @@ -7,7 +7,10 @@ ms.topic: include ### Configure minimum PIN length for startup -This policy setting allows you to configure a minimum length for a Trusted Platform Module (TPM) startup PIN. The startup PIN must have a minimum length of 4 digits and can have a maximum length of 20 digits. If you enable this policy setting, you can require a minimum number of digits to be used when setting the startup PIN. If you disable or do not configure this policy setting, users can configure a startup PIN of any length between 6 and 20 digits. NOTE: If minimum PIN length is set below 6 digits, Windows will attempt to update the TPM 2.0 lockout period to be greater than the default when a PIN is changed. If successful, Windows will only reset the TPM lockout period back to default if the TPM is reset. +This policy configures a minimum length for a Trusted Platform Module (TPM) startup PIN. The startup PIN must have a minimum length of 4 digits and can have a maximum length of 20 digits. If you enable this policy setting, you can require a minimum number of digits to be used when setting the startup PIN. If you disable or do not configure this policy setting, users can configure a startup PIN of any length between 6 and 20 digits. + + +NOTE: If minimum PIN length is set below 6 digits, Windows will attempt to update the TPM 2.0 lockout period to be greater than the default when a PIN is changed. If successful, Windows will only reset the TPM lockout period back to default if the TPM is reset. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md index 446f6449e0..1629530c91 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md @@ -7,7 +7,27 @@ ms.topic: include ### Configure use of passwords for operating system drives -This policy setting specifies the constraints for passwords used to unlock BitLocker-protected operating system drives. If non-TPM protectors are allowed on operating system drives, you can provision a password, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable or do not configure this policy setting, the default length constraint of 8 characters will apply to operating system drive passwords and no complexity checks will occur. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. +This policy controls how non-TPM based systems utilize the password protector. Used with the **Password must meet complexity requirements** policy, this policy allows administrators to require password length and complexity for using the password protector. By default, passwords must be eight characters in length. Complexity configuration options determine how important domain connectivity is for the client. For the strongest password security, administrators should choose **Require password complexity** because it requires domain connectivity, and it requires that the BitLocker password meets the same password complexity requirements as domain sign-in passwords. + +For the complexity requirement setting to be effective, the policy *Password must meet complexity requirements*, which is located at **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. + +> [!NOTE] +> These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. + +When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. If no domain controllers are found, the password will be accepted regardless of actual password complexity, and the drive will be encrypted by using that password as a protector. When set to **Do not allow complexity**, there's no password complexity validation. + +Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the desired number of characters in the **Minimum password length** box. + +When this policy setting is enabled, the option **Configure password complexity for operating system drives** can be set to: + +- Allow password complexity +- Deny password complexity +- Require password complexity + +> [!IMPORTANT] +> Passwords can't be used if FIPS-compliance is enabled. +> +> The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting, which is located at **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** specifies whether FIPS-compliance is enabled. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md index 30a781a10b..844a3eea29 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md @@ -7,7 +7,10 @@ ms.topic: include ### Disallow standard users from changing the PIN or password -This policy setting allows you to configure whether or not standard users are allowed to change BitLocker volume PINs, provided they are able to provide the existing PIN first. If you enable this policy setting, standard users will not be allowed to change BitLocker PINs or passwords. If you disable or do not configure this policy setting, standard users will be permitted to change BitLocker PINs and passwords. +This policy allows configuration of whether standard users are allowed to change the PIN or password that is used to protect the operating system drive, if they can provide the existing PIN first. + +If you enable this policy, standard users can't change BitLocker PINs or passwords. +If you disable or do not configure this policy, standard users can change BitLocker PINs and passwords. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md index 3bb72c3e6b..3b12ff902b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md @@ -7,6 +7,21 @@ ms.topic: include ### Require device encryption +This policy setting determines whether BitLocker is required on a drive.\ +If you disable the policy, BitLocker isn't turned off for the system drive, but it stops prompting the user to turn BitLocker on. + +Encryptable fixed data volumes are treated similarly to OS volumes. However, fixed data volumes must meet other criteria to be considered encryptable: + +- It must not be a dynamic volume +- It must not be a recovery partition +- It must not be a hidden volume +- It must not be a system partition +- It must not be backed by virtual storage +- It must not have a reference in the BCD store + +> [!NOTE] +> Only full disk encryption is supported when using this policy for silent encryption. For non-silent encryption, encryption type will depend on the [*Enforce drive encryption type on operating system drives*](../policy-settings.md?tabs=fixed#enforce-drive-encryption-type-on-operating-system-drives) and [*Enforce drive encryption type on fixed data drives*](../policy-settings.md?tabs=fixed#enforce-drive-encryption-type-on-fixed-data-drives) policies configured on the device. + | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[RequireDeviceEncryption](/windows/client-management/mdm/bitlocker-csp#requiredeviceencryption) | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 9272b9fb01..2b58ca477b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -11,6 +11,16 @@ ms.date: 09/19/2023 This reference article describes the policy settings to configure BitLocker via configuration service provider (CSP) and group policy (GPO). +## BitLocker and policies compliance + +If a device isn't compliant with the existing policies, BitLocker may not be turned on, or BitLocker configuration may be modified until the computer is in a compliant state. When a drive becomes out of compliance with policy settings, only changes to the BitLocker configuration that will bring it into compliance are allowed. Such scenario could occur, for example, if a previously encrypted drive was brought out of compliance by change in policy settings. + +If multiple changes are necessary to bring the drive into compliance, BitLocker protection may need to be suspended, the necessary changes made, and then protection resumed. Such situation could occur, for example, if a removable drive is initially configured for unlock with a password but then policy settings are changed to disallow passwords and require smart cards. In this situation, BitLocker protection needs to be suspended by using the [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line tool, delete the password unlock method, and add the smart card method. After this process is complete, BitLocker is compliant with the policy setting, and BitLocker protection on the drive can be resumed. + +In other scenarios, to bring the drive into compliance with a change in policy settings, BitLocker may need to be disabled and the drive decrypted followed by re-enabling BitLocker and then re-encrypting the drive. An example of this scenario is when the BitLocker encryption method or cipher strength is changed. The [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line can also be used in this scenario to help bring the device into compliance. + +## Settings list + The list of settings is sorted alphabetically and organized in four tabs: - **Common settings**: settings applicable to all BitLocker-protected drives From 5ee4f6b5ec49dbcdbdf32a59b3d5c177313c86ce Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 25 Sep 2023 13:08:30 -0400 Subject: [PATCH 035/505] updates --- .../_bitlocker-group-policy-settings.md | 50 ------------------- ...ve-encryption-type-on-fixed-data-drives.md | 2 +- ...alidation-data-after-bitlocker-recovery.md | 7 ++- ...t-configuration-data-validation-profile.md | 7 ++- .../bitlocker/policy-settings.md | 20 ++++++-- 5 files changed, 30 insertions(+), 56 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index d6fc3d6d9a..e7b6f7d463 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -711,43 +711,6 @@ The following list identifies all of the available PCRs: > [!WARNING] > Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. -### Reset platform validation data after BitLocker recovery - -This policy setting determines if platform validation data should refresh when Windows is started following a BitLocker recovery. A platform validation data profile consists of the values in a set of Platform Configuration Register (PCR) indices that range from 0 to 23. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled whether platform validation data is refreshed when Windows is started following a BitLocker recovery.| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|Platform validation data is refreshed when Windows is started following a BitLocker recovery.| -|**When disabled**|Platform validation data isn't refreshed when Windows is started following a BitLocker recovery.| -|**When not configured**|Platform validation data is refreshed when Windows is started following a BitLocker recovery.| - -#### Reference: Reset platform validation data after BitLocker recovery - -For more information about the recovery process, see the [BitLocker recovery guide](bitlocker-recovery-guide-plan.md). - -### Use enhanced Boot Configuration Data validation profile - -This policy setting determines specific Boot Configuration Data (BCD) settings to verify during platform validation. A platform validation uses the data in the platform validation profile, which consists of a set of Platform Configuration Register (PCR) indices that range from 0 to 23. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, Boot Configuration Data (BCD) settings to verify during platform validation can be specified.| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|When BitLocker is using Secure Boot for platform and Boot Configuration Data integrity validation, the **Use enhanced Boot Configuration Data validation profile** Group Policy setting is ignored (as defined by the **Allow Secure Boot for integrity validation** Group Policy setting).| -|**When enabled**|Additional BCD settings can be added and specified BCD settings can be excluded. Also a customized BCD validation profile can be created by combining inclusion and exclusion lists. The customized BCD validation profile gives the ability to verify BCD settings.| -|**When disabled**|The computer reverts to a BCD profile validation.| -|**When not configured**|The computer verifies the default BCD settings in Windows.| - -#### Reference: Use enhanced Boot Configuration Data validation profile - -> [!NOTE] -> The setting that controls boot debugging (0x16000010) is always validated, and it has no effect if it's included in the inclusion or the exclusion list. - ## FIPS setting The Federal Information Processing Standard (FIPS) setting for FIPS compliance can be configured. As an effect of FIPS compliance, users can't create or save a BitLocker password for recovery or as a key protector. The use of a recovery key is permitted. @@ -782,16 +745,3 @@ To disable all available sleep states, disable the Group Policy settings located - **Allow Standby States (S1-S3) When Sleeping (Plugged In)** - **Allow Standby States (S1-S3) When Sleeping (Battery)** -## About the Platform Configuration Register (PCR) - -A platform validation profile consists of a set of PCR indices that range from 0 to 23. The scope of the values can be specific to the version of the operating system. - -Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. - -### About PCR 7 - -PCR 7 measures the state of Secure Boot. With PCR 7, BitLocker can use Secure Boot for integrity validation. Secure Boot ensures that the computer's preboot environment loads only firmware that is digitally signed by authorized software publishers. PCR 7 measurements indicate whether Secure Boot is on and which keys are trusted on the platform. If Secure Boot is on and the firmware measures PCR 7 correctly per the UEFI specification, BitLocker can bind to this information rather than to PCRs 0, 2, and 4, which have the measurements of the exact firmware and Bootmgr images loaded. This process reduces the likelihood of BitLocker starting in recovery mode as a result of firmware and image updates, and it provides with greater flexibility to manage the preboot configuration. - -PCR 7 measurements must follow the guidance that is described in [Appendix A Trusted Execution Environment EFI Protocol](/windows-hardware/test/hlk/testref/trusted-execution-environment-efi-protocol). - -PCR 7 measurements are a mandatory logo requirement for systems that support Modern Standby (also known as Always On, Always Connected PCs), such as the Microsoft Surface RT. On such systems, if the TPM with PCR 7 measurement and secure boot are correctly configured, BitLocker binds to PCR 7 and PCR 11 by default. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md index 64957b2d3b..cbaa96bbcb 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md @@ -11,5 +11,5 @@ This policy setting allows you to configure the encryption type used by BitLocke | | Path | |--|--| -| **CSP** | ``./Device/Vendor/MSFT/BitLocker/`[FixedDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#fixeddrivesencryptiontype) | +| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[FixedDrivesEncryptionType](/windows/client-management/mdm/bitlocker-csp#fixeddrivesencryptiontype) | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md index 6e1f081b8b..7200f2779c 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md @@ -7,7 +7,12 @@ ms.topic: include ### Reset platform validation data after BitLocker recovery -This policy setting allows you to control whether or not platform validation data is refreshed when Windows is started following BitLocker recovery. If you enable this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. If you disable this policy setting, platform validation data will not be refreshed when Windows is started following BitLocker recovery. If you do not configure this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. +This policy setting determines if platform validation data should refresh when Windows is started following a BitLocker recovery. A platform validation data profile consists of the values in a set of Platform Configuration Register (PCR) indices that range from 0 to 23. + +If you enable this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. This is the default behavior.\ +If you disable this policy setting, platform validation data will not be refreshed when Windows is started following BitLocker recovery. + +For more information about the recovery process, see the [BitLocker recovery guide](bitlocker-recovery-guide-plan.md). | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md index 2315c6e366..6de3f0813e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md @@ -7,7 +7,12 @@ ms.topic: include ### Use enhanced Boot Configuration Data validation profile -This policy setting allows you to choose specific Boot Configuration Data (BCD) settings to verify during platform validation. If you enable this policy setting, you will be able to add additional settings, remove the default settings, or both. If you disable this policy setting, the computer will revert to a BCD profile similar to the default BCD profile used by Windows 7. If you do not configure this policy setting, the computer will verify the default Windows BCD settings. Note: When BitLocker is using Secure Boot for platform and Boot Configuration Data (BCD) integrity validation, as defined by the "Allow Secure Boot for integrity validation" group policy, the "Use enhanced Boot Configuration Data validation profile" group policy is ignored. The setting that controls boot debugging (0x16000010) will always be validated and will have no effect if it is included in the provided fields. +This policy setting determines specific Boot Configuration Data (BCD) settings to verify during platform validation. A platform validation uses the data in the platform validation profile, which consists of a set of Platform Configuration Register (PCR) indices that range from 0 to 23. + +If you don't configure this policy setting, the device will verify the default Windows BCD settings. + +> [!NOTE] +> When BitLocker is using Secure Boot for platform and BCD integrity validation, as defined by the *Allow Secure Boot for integrity validation* GPO, this policy setting is ignored. The setting that controls boot debugging `0x16000010` is always validated, and it has no effect if it's included in the inclusion or exclusion list. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 2b58ca477b..42b4dbc181 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -19,6 +19,9 @@ If multiple changes are necessary to bring the drive into compliance, BitLocker In other scenarios, to bring the drive into compliance with a change in policy settings, BitLocker may need to be disabled and the drive decrypted followed by re-enabling BitLocker and then re-encrypting the drive. An example of this scenario is when the BitLocker encryption method or cipher strength is changed. The [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line can also be used in this scenario to help bring the device into compliance. +> [!IMPORTANT] +> Most of the BitLocker settings are applied when BitLocker is initially turned on for a drive. Encryption isn't restarted if settings change. + ## Settings list The list of settings is sorted alphabetically and organized in four tabs: @@ -28,9 +31,6 @@ The list of settings is sorted alphabetically and organized in four tabs: - **Fixed data drives**: settings applicable to any local drives, except the operating system drive - **Removable data drives**: settings applicable to any removable drives -> [!IMPORTANT] -> Most of the BitLocker settings are applied when BitLocker is initially turned on for a drive. Encryption isn't restarted if settings change. - #### [:::image type="icon" source="images/locked-drive.svg"::: **Common settings**](#tab/common) The following table lists the BitLocker policies applicable to all drive types, indicating if they're applicable via configuration service provider (CSP) and/or group policy (GPO). Select the policy name for more details. @@ -142,3 +142,17 @@ The following table lists the BitLocker policies applicable to all drive types, [!INCLUDE [removable-drives-excluded-from-encryption](includes/removable-drives-excluded-from-encryption.md)] --- + +## Platform Configuration Register (PCR) + +A platform validation profile consists of a set of PCR indices that range from 0 to 23. The scope of the values can be specific to the version of the operating system. + +Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. + +### About PCR 7 + +PCR 7 measures the state of Secure Boot. With PCR 7, BitLocker can use Secure Boot for integrity validation. Secure Boot ensures that the computer's preboot environment loads only firmware that is digitally signed by authorized software publishers. PCR 7 measurements indicate whether Secure Boot is on and which keys are trusted on the platform. If Secure Boot is on and the firmware measures PCR 7 correctly per the UEFI specification, BitLocker can bind to this information rather than to PCRs 0, 2, and 4, which have the measurements of the exact firmware and Bootmgr images loaded. This process reduces the likelihood of BitLocker starting in recovery mode as a result of firmware and image updates, and it provides with greater flexibility to manage the preboot configuration. + +PCR 7 measurements must follow the guidance that is described in [Appendix A Trusted Execution Environment EFI Protocol](/windows-hardware/test/hlk/testref/trusted-execution-environment-efi-protocol). + +PCR 7 measurements are a mandatory logo requirement for systems that support Modern Standby (also known as Always On, Always Connected PCs), such as the Microsoft Surface RT. On such systems, if the TPM with PCR 7 measurement and secure boot are correctly configured, BitLocker binds to PCR 7 and PCR 11 by default. From e776af1dea3d2b29792708e769fab569bfccae4c Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 25 Sep 2023 17:36:40 -0400 Subject: [PATCH 036/505] updates --- .../_bitlocker-group-policy-settings.md | 44 ------------------- ...ma-devices-when-this-computer-is-locked.md | 8 +++- ...-card-certificate-usage-rule-compliance.md | 9 +++- .../data-protection/bitlocker/index.md | 22 +++++----- .../data-protection/bitlocker/toc.yml | 4 -- 5 files changed, 26 insertions(+), 61 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index e7b6f7d463..5ab4435990 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -24,23 +24,6 @@ The Dictionary Attack Prevention Parameters provide a way to balance security ne Increasing the PIN length requires a greater number of guesses for an attacker. In that case, the lockout duration between each guess can be shortened to allow legitimate users to retry a failed attempt sooner, while maintaining a similar level of protection. -### Disable new DMA devices when this computer is locked - -This policy setting allows blocking of direct memory access (DMA) for all hot pluggable PCI ports until a user signs in to Windows. - -| Item | Info | -|:---|:---| -|**Policy description**|This setting helps prevent attacks that use external PCI-based devices to access BitLocker keys.| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|Every time the user locks the screen, DMA will be blocked on hot pluggable PCI ports until the user signs in again.| -|**When disabled or not configured**|DMA is available on hot pluggable PCI devices if the device is turned on, regardless of whether a user is signed in.| - -#### Reference: Disable new DMA devices when this computer is locked - -This policy setting is only enforced when BitLocker or device encryption is enabled. As explained in the [Microsoft Security Guidance blog](/archive/blogs/secguide/issue-with-bitlockerdma-setting-in-windows-10-fall-creators-update-v1709), in some cases when this setting is enabled, internal, PCI-based peripherals can fail, including wireless network drivers and input and audio peripherals. This problem is fixed in the [April 2018 quality update](https://support.microsoft.com/help/4093105). - ### Configure use of smart cards on fixed data drives This policy setting is used to require, allow, or deny the use of smart cards with fixed data drives. @@ -147,30 +130,6 @@ When set to **Do not allow complexity**, no password complexity validation is do For information about this setting, see [System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing](../../../threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md). -### Validate smart card certificate usage rule compliance - -This policy setting is used to determine what certificate to use with BitLocker. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, an object identifier from a smart card certificate can be associated to a BitLocker-protected drive.| -|**Drive type**|Fixed and removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|The object identifier that is specified in the **Object identifier** setting must match the object identifier in the smart card certificate.| -|**When disabled or not configured**|The default object identifier is used.| - -#### Reference: Validate smart card certificate usage rule compliance - -This policy setting is applied when BitLocker is turned on. - -The object identifier is specified in the extended key usage (EKU) of a certificate. BitLocker can identify which certificates can be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. - -The default object identifier is 1.3.6.1.4.1.311.67.1.1. - -> [!NOTE] -> BitLocker doesn't require that a certificate have an EKU attribute; however, if one is configured for the certificate, it must be set to an object identifier that matches the object identifier configured for BitLocker. - ### Enable use of BitLocker authentication requiring preboot keyboard input on slates | Item | Info | @@ -696,9 +655,6 @@ The following list identifies all of the available PCRs: - PCR 5: GPT/Partition Table - PCR 6: Resume from S4 and S5 Power State Events - PCR 7: Secure Boot State - - For more information about this PCR, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article. - - PCR 8: Initialized to 0 with no Extends (reserved for future use) - PCR 9: Initialized to 0 with no Extends (reserved for future use) - PCR 10: Initialized to 0 with no Extends (reserved for future use) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md index f1835f9603..b14565680f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md @@ -7,7 +7,13 @@ ms.topic: include ### Disable new DMA devices when this computer is locked -This policy allows blocking direct memory access (DMA) for all Thunderbolt hot pluggable PCI downstream ports until a user logs into Windows. Once a user logs in, Windows will enumerate the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the machine, DMA will be blocked on hot plug Thunderbolt PCI ports with no children devices, until the user logs in again. Devices which were already enumerated when the machine was unlocked will continue to function until unplugged or the system is rebooted or hibernated. This policy setting is only enforced when BitLocker or device encryption is enabled. Note: Some PCs may not be compatible with this policy if the system firmware enables DMA for newly attached Thunderbolt devices before exposing the new devices to Windows. +When enabled, this policy setting blocks direct memory access (DMA) for all hot pluggable PCI ports until a user signs into Windows. + +Once a user signs in, Windows enumerates the PCI devices connected to the host Thunderbolt PCI ports. Every time the user locks the device, DMA is blocked on hot plug Thunderbolt PCI ports with no children devices, until the user signs in again. + +Devices that were already enumerated when the device was unlocked will continue to function until unplugged, or the system is rebooted or hibernated. + +This policy setting is only enforced when BitLocker or device encryption is enabled. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/validate-smart-card-certificate-usage-rule-compliance.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/validate-smart-card-certificate-usage-rule-compliance.md index a6d7ea7b76..e8ea6b3061 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/validate-smart-card-certificate-usage-rule-compliance.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/validate-smart-card-certificate-usage-rule-compliance.md @@ -7,7 +7,14 @@ ms.topic: include ### Validate smart card certificate usage rule compliance -This policy setting allows you to associate an object identifier from a smart card certificate to a BitLocker-protected drive. The object identifier is specified in the enhanced key usage (EKU) of a certificate. BitLocker can identify which certificates may be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. Default object identifier is 1.3.6.1.4.1.311.67.1.1 Note: BitLocker does not require that a certificate have an EKU attribute, but if one is configured for the certificate it must be set to an object identifier (OID) that matches the OID configured for BitLocker. If you enable this policy setting, the object identifier specified in the "Object identifier" box must match the object identifier in the smart card certificate. If you disable or do not configure this policy setting, a default object identifier is used. +This policy setting is used to determine which certificate to use with BitLocker by associating an object identifier (OID) from a smart card certificate to a BitLocker-protected drive. The object identifier is specified in the enhanced key usage (EKU) of a certificate. + +BitLocker can identify which certificates may be used to authenticate a user certificate to a BitLocker-protected drive by matching the object identifier in the certificate with the object identifier that is defined by this policy setting. Default OID is `1.3.6.1.4.1.311.67.1.1`. + +If you enable this policy setting, the object identifier specified in the **Object identifier** field must match the object identifier in the smart card certificate. If you disable or do not configure this policy setting, the default OID is used. + +> [!NOTE] +> BitLocker doesn't require that a certificate have an EKU attribute; however, if one is configured for the certificate, it must be set to an object identifier that matches the object identifier configured for BitLocker. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index 4de77c10cc..aa0c682d83 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -5,40 +5,40 @@ ms.collection: - highpri - tier1 ms.topic: overview -ms.date: 08/14/2023 +ms.date: 09/25/2023 --- # BitLocker overview -Bitlocker is a Windows disk encryption feature, designed to protect data by providing encryption for entire volumes.\ +BitLocker is a Windows security feature that provides encryption for entire volumes.\ BitLocker addresses the threats of data theft or exposure from lost, stolen, or inappropriately decommissioned devices. BitLocker provides maximum protection when used with a Trusted Platform Module (TPM). A TPM is a hardware component installed in many devices and it works with BitLocker to help protect user data and to ensure that a computer hasn't been tampered with while the system is offline. -On devices that don't have a TPM, BitLocker can still be used to encrypt the Windows operating system drive. However, this implementation requires the user to insert a USB startup key to start the device or resume from hibernation. An operating system volume password can be used to protect the operating system volume on a computer without TPM. Both options don't provide the pre-startup system integrity verification offered by BitLocker with a TPM. +On devices that don't have a TPM, BitLocker can still be used to encrypt the operating system drive. However, this implementation requires the user to insert a USB key to start the device or when resuming from hibernation. A password can also be used to protect the OS volume on a device without TPM. Both options don't provide the pre-startup system integrity verification offered by BitLocker with a TPM. -In addition to the TPM, BitLocker offers the option to lock the normal startup process until the user supplies a personal identification number (PIN) or inserts a removable device (such as a USB flash drive) that contains a startup key. These additional security measures provide multifactor authentication and assurance that the computer won't start or resume from hibernation until the correct PIN or startup key is presented. +In addition to the TPM, BitLocker offers the option to lock the normal startup process until the user supplies a personal identification number (PIN) or inserts a removable device (such as a USB drive) that contains a startup key. These additional security measures provide multifactor authentication and assurance that the device won't start or resume from hibernation until the correct PIN or startup key is presented. ## Practical applications -Data on a lost or stolen device is vulnerable to unauthorized access, either by running a software-attack tool against it or by transferring the computer's hard drive to a different computer. BitLocker helps mitigate unauthorized data access by enhancing file and system protections. BitLocker also helps render data inaccessible when BitLocker-protected devices are decommissioned or recycled. +Data on a lost or stolen device is vulnerable to unauthorized access, either by running a software-attack tool against it, or by transferring the computer's hard drive to a different computer. BitLocker helps mitigate unauthorized data access by enhancing file and system protections. BitLocker also helps render data inaccessible when BitLocker-protected devices are decommissioned or recycled. ## System requirements BitLocker has the following hardware requirements: -- For BitLocker to use the system integrity check provided by a TPM, the computer must have TPM 1.2 or later versions. If a computer doesn't have a TPM, saving a startup key on a removable drive, such as a USB flash drive, becomes mandatory when enabling BitLocker +- For BitLocker to use the system integrity check provided by a TPM, the device must have TPM 1.2 or later versions. If a device doesn't have a TPM, saving a startup key on a removable drive is mandatory when enabling BitLocker - A device with a TPM must also have a Trusted Computing Group (TCG)-compliant BIOS or UEFI firmware. The BIOS or UEFI firmware establishes a chain of trust for the pre-operating system startup, and it must include support for TCG-specified Static Root of Trust Measurement. A computer without a TPM doesn't require TCG-compliant firmware -- The system BIOS or UEFI firmware (for TPM and non-TPM computers) must support the USB mass storage device class, including reading small files on a USB flash drive in the pre-operating system environment +- The system BIOS or UEFI firmware (for TPM and non-TPM devices) must support the USB mass storage device class, including reading small files on a USB drive in the pre-operating system environment > [!NOTE] > TPM 2.0 is not supported in Legacy and Compatibility Support Module (CSM) modes of the BIOS. Devices with TPM 2.0 must have their BIOS mode configured as native UEFI only. The Legacy and CSM options must be disabled. For added security, enable the secure boot feature. > - > Installed Operating System on hardware in Legacy mode stops the OS from booting when the BIOS mode is changed to UEFI. Use the tool [MBR2GPT](/windows/deployment/mbr-to-gpt) before changing the BIOS mode, which prepares the OS and the disk to support UEFI. + > Installed Operating System on hardware in Legacy mode stops the OS from booting when the BIOS mode is changed to UEFI. Use the tool [`mbr2gpt`](/windows/deployment/mbr-to-gpt) before changing the BIOS mode, which prepares the OS and the disk to support UEFI. - The hard disk must be partitioned with at least two drives: - - The operating system drive (or boot drive) contains the operating system and its support files. It must be formatted with the NTFS file system - - The system drive contains the files that are needed to load Windows after the firmware has prepared the system hardware. BitLocker isn't enabled on this drive. For BitLocker to work, the system drive must not be encrypted, must differ from the operating system drive, and must be formatted with the FAT32 file system on computers that use UEFI-based firmware or with the NTFS file system on computers that use BIOS firmware. It's recommended that the system drive be approximately 350 MB in size. After BitLocker is turned on, it should have approximately 250 MB of free space + - The *operating system drive* (or boot drive) contains the OS and its support files. It must be formatted with the NTFS file system + - The *system drive* contains the files that are needed to load Windows after the firmware has prepared the system hardware. BitLocker isn't enabled on this drive. For BitLocker to work, the system drive must not be encrypted, must differ from the operating system drive, and must be formatted with the FAT32 file system on computers that use UEFI-based firmware or with the NTFS file system on computers that use BIOS firmware. It's recommended that the system drive be approximately 350 MB in size. After BitLocker is turned on, it should have approximately 250 MB of free space > [!IMPORTANT] > When installed on a new device, Windows automatically creates the partitions that are required for BitLocker. @@ -46,6 +46,6 @@ BitLocker has the following hardware requirements: > An encrypted partition can't be marked as active. > [!NOTE] -> When installing the BitLocker optional component on a server, the Enhanced Storage feature also needs to be installed. The Enhanced Storage feature is used to support hardware encrypted drives. +> When installing the BitLocker optional component on a server, the *Enhanced Storage* feature must be installed. The feature is used to support hardware encrypted drives. [!INCLUDE [bitlocker](../../../../../includes/licensing/bitlocker-enablement.md)] diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index 1e748d4f47..7f8a32838c 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -27,16 +27,12 @@ items: href: bitlocker-recovery-guide-plan.md - name: Protect cluster shared volumes and storage area networks with BitLocker href: protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md -- name: BitLocker features - items: - name: Network Unlock href: bitlocker-how-to-enable-network-unlock.md - name: Reference items: - name: BitLocker policy settings href: policy-settings.md - - name: BitLocker Group Policy settings - href: _bitlocker-group-policy-settings.md - name: BCD settings href: bcd-settings-and-bitlocker.md - name: BitLocker frequently asked questions (FAQ) From f8d6a696f5c482924b8379a6b7832bbf03e3f61f Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 27 Sep 2023 07:43:20 -0400 Subject: [PATCH 037/505] updates --- .../_bitlocker-group-policy-settings.md | 34 ------------------- ...allow-warning-for-other-disk-encryption.md | 26 ++++++++++++++ ...-use-of-passwords-for-fixed-data-drives.md | 27 +++++++++++++++ .../includes/require-device-encryption.md | 11 ++++-- .../bitlocker/policy-settings.md | 2 +- 5 files changed, 62 insertions(+), 38 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index 5ab4435990..c9ffeb82d2 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -43,40 +43,6 @@ This policy setting is used to require, allow, or deny the use of smart cards wi > [!NOTE] > These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive by using any of the protectors that are available on the drive. -### Configure use of passwords on fixed data drives - -This policy setting is used to require, allow, or deny the use of passwords with fixed data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be specified whether a password is required to unlock BitLocker-protected fixed data drives.| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|To use password complexity, the **Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\Password must meet complexity requirements** policy setting must also be enabled.| -|**When enabled**|Users can configure a password that meets the defined requirements. To require the use of a password, select **Require password for fixed data drive**. To enforce complexity requirements on the password, select **Require complexity**.| -|**When disabled**|The user isn't allowed to use a password.| -|**When not configured**|Passwords are supported with the default settings, which don't include password complexity requirements and require only eight characters.| - -#### Reference: Configure use of passwords on fixed data drives - -When set to **Require complexity**, a connection to a domain controller is necessary to validate the complexity of the password when BitLocker is enabled. - -When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. However, if no domain controllers are found, the password is accepted regardless of the actual password complexity, and the drive is encrypted by using that password as a protector. - -When set to **Do not allow complexity**, no password complexity validation is performed. - -Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the desired number of characters in the **Minimum password length** box. - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. - -For the complexity requirement setting to be effective, the Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy** > **Password must meet complexity requirements** must also be enabled. This policy setting is configured on a per-computer basis. The policy setting also applies to both local user accounts and domain user accounts. Because the password filter that's used to validate password complexity is located on the domain controllers, local user accounts can't access the password filter because they're not authenticated for domain access. When this policy setting is enabled, if a local user account signs in, and a drive is attempted to be encrypted or a password changed on an existing BitLocker-protected drive, an **Access denied** error message is displayed. In this situation, the password key protector can't be added to the drive. - -Enabling this policy setting requires that a device is connected to a domain before adding a password key protector to a BitLocker-protected drive. Users who work remotely and have periods of time in which they can't connect to the domain should be made aware of this requirement so that they can schedule a time when they'll be connected to the domain to turn on BitLocker or to change a password on a BitLocker-protected data drive. - -> [!IMPORTANT] -> Passwords can't be used if FIPS compliance is enabled. The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting in *Computer Configuration* > *Windows Settings* > *Security Settings* > *Local Policies* > *Security Options* specifies whether FIPS compliance is enabled. - ### Configure use of smart cards on removable data drives This policy setting is used to require, allow, or deny the use of smart cards with removable data drives. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-warning-for-other-disk-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-warning-for-other-disk-encryption.md index 46316add2e..dd754855d0 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-warning-for-other-disk-encryption.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-warning-for-other-disk-encryption.md @@ -7,6 +7,32 @@ ms.topic: include ### Allow warning for other disk encryption +With this policy you can disable all notification for encryption, warning prompt for other disk encryption, and turn on encryption silently. + +> [!IMPORTANT] +> This policy applies to Microsoft Entra joined devices only. + +This policy takes effect only if [Require device encryption](../policy-settings.md?tabs=os#require-device-encryption) policy is enabled. + +> [!WARNING] +> When you enable BitLocker on a device with third party encryption, it may render the device unusable and will require reinstallation of Windows. + +The expected values for this policy are: + +- Enabled (default): warning prompt and encryption notification is allowed +- Disabled: warning prompt and encryption notification are suppressed. Windows will attempt to silently enable BitLocker + +> [!NOTE] +> When you disable the warning prompt, the OS drive's recovery key will back up to the user's Microsoft Entra ID account. When you allow the warning prompt, the user who receives the prompt can select where to back up the OS drive's recovery key. +> +> The endpoint for a fixed data drive's backup is chosen in the following order: +> +> 1. The user's Windows Server Active Directory Domain Services account +> 2. The user's Microsoft Entra ID account +> 3. The user's personal OneDrive (MDM/MAM only) +> +> Encryption will wait until one of these three locations backs up successfully. + | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowWarningForOtherDiskEncryption](/windows/client-management/mdm/bitlocker-csp#allowwarningforotherdiskencryption) | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md index ba5c268c69..d7f83ada9b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md @@ -9,6 +9,33 @@ ms.topic: include This policy setting specifies whether a password is required to unlock BitLocker-protected fixed data drives. If you choose to permit the use of a password, you can require that a password be used, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To require the use of a password, select "Require password for fixed data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. +This policy setting is used to require, allow, or deny the use of passwords with fixed data drives. + +To use password complexity, the **Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\Password must meet complexity requirements** policy setting must also be enabled. + +Users can configure a password that meets the defined requirements. To require the use of a password, select **Require password for fixed data drive**. To enforce complexity requirements on the password, select **Require complexity**. + +**When disabled** The user isn't allowed to use a password. +**When not configured** Passwords are supported with the default settings, which don't include password complexity requirements and require only eight characters. + +When set to **Require complexity**, a connection to a domain controller is necessary to validate the complexity of the password when BitLocker is enabled. + +When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. However, if no domain controllers are found, the password is accepted regardless of the actual password complexity, and the drive is encrypted by using that password as a protector. + +When set to **Do not allow complexity**, no password complexity validation is performed. + +Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the desired number of characters in the **Minimum password length** box. + +> [!NOTE] +> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. + +For the complexity requirement setting to be effective, the Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy** > **Password must meet complexity requirements** must also be enabled. This policy setting is configured on a per-computer basis. The policy setting also applies to both local user accounts and domain user accounts. Because the password filter that's used to validate password complexity is located on the domain controllers, local user accounts can't access the password filter because they're not authenticated for domain access. When this policy setting is enabled, if a local user account signs in, and a drive is attempted to be encrypted or a password changed on an existing BitLocker-protected drive, an **Access denied** error message is displayed. In this situation, the password key protector can't be added to the drive. + +Enabling this policy setting requires that a device is connected to a domain before adding a password key protector to a BitLocker-protected drive. Users who work remotely and have periods of time in which they can't connect to the domain should be made aware of this requirement so that they can schedule a time when they'll be connected to the domain to turn on BitLocker or to change a password on a BitLocker-protected data drive. + +> [!IMPORTANT] +> Passwords can't be used if FIPS compliance is enabled. The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting in *Computer Configuration* > *Windows Settings* > *Security Settings* > *Local Policies* > *Security Options* specifies whether FIPS compliance is enabled. + | | Path | |--|--| | **CSP** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md index 3b12ff902b..731685b57f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-device-encryption.md @@ -7,10 +7,15 @@ ms.topic: include ### Require device encryption -This policy setting determines whether BitLocker is required on a drive.\ -If you disable the policy, BitLocker isn't turned off for the system drive, but it stops prompting the user to turn BitLocker on. +This policy setting determines whether BitLocker is required: -Encryptable fixed data volumes are treated similarly to OS volumes. However, fixed data volumes must meet other criteria to be considered encryptable: +- If enabled, encryption is triggered on all drives silently or non-silently based on [Allow warning for other disk encryption](../policy-settings.md?tabs=os#allow-warning-for-other-disk-encryption) policy +- If disabled, BitLocker isn't turned off for the system drive, but it stops prompting the user to turn BitLocker on. + +> [!NOTE] +> Typically, BitLocker follows the [Choose drive encryption method and cipher strength](../policy-settings.md?tabs=os#choose-drive-encryption-method-and-cipher-strength) policy configuration. However, this policy setting will be ignored for self-encrypting fixed drives and self-encrypting OS drives. + +Encryptable fixed data volumes are treated similarly to OS volumes, but they must meet other criteria to be encryptable: - It must not be a dynamic volume - It must not be a recovery partition diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 42b4dbc181..a696b64607 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -77,7 +77,7 @@ The following table lists the BitLocker policies applicable to all drive types, |[Enable use of BitLocker authentication requiring preboot keyboard input on slates](#enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates)|✅|✅| |[Enforce drive encryption type on operating system drives](#enforce-drive-encryption-type-on-operating-system-drives)|✅|✅| |[Require additional authentication at startup](#require-additional-authentication-at-startup)|✅|✅| -|[Require Device Encryption](#require-device-encryption)|✅|❌| +|[Require device encryption](#require-device-encryption)|✅|❌| |[Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery)|❌|✅| |[Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile)|❌|✅| From 668a2198bd9efc1759f6119ce617b1e1a311d12e Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 27 Sep 2023 16:30:46 -0400 Subject: [PATCH 038/505] recovery policies --- .../_bitlocker-group-policy-settings.md | 96 ------------------- ...protected-fixed-drives-can-be-recovered.md | 13 ++- ...perating-system-drives-can-be-recovered.md | 10 +- ...ected-removable-drives-can-be-recovered.md | 13 ++- .../configure-recovery-password-rotation.md | 6 +- .../bitlocker/policy-settings.md | 6 +- 6 files changed, 39 insertions(+), 105 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index c9ffeb82d2..7216ece2bc 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -348,102 +348,6 @@ This policy setting is applied when BitLocker is turned on. Changing the encrypt For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). -### Choose how BitLocker-protected operating system drives can be recovered - -This policy setting is used to configure recovery methods for operating system drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled how BitLocker-protected operating system drives are recovered in the absence of the required startup key information.| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| -|**When enabled**|it can be controlled the methods that are available to users to recover data from BitLocker-protected operating system drives.| -|**When disabled or not configured**|The default recovery options are supported for BitLocker recovery. By default, a data recovery agent is allowed, the recovery options can be specified by the user (including the recovery password and recovery key), and recovery information isn't backed up to AD DS.| - -#### Reference: Choose how BitLocker-protected operating system drives can be recovered - -This policy setting is applied when BitLocker is turned on. - -The **Allow data recovery agent** check box is used to specify whether a data recovery agent can be used with BitLocker-protected operating system drives. Before a data recovery agent can be used, it must be added from **Public Key Policies**, which is located in the Group Policy Management Console (GPMC) or in the Local Group Policy Editor. - -For more information about adding data recovery agents, see [BitLocker basic deployment](bitlocker-basic-deployment.md). - -In **Configure user storage of BitLocker recovery information**, select whether users are allowed, required, or not allowed to generate a 48-digit recovery password. - -Select **Omit recovery options from the BitLocker setup wizard** to prevent users from specifying recovery options when they enable BitLocker on a drive. This policy setting means that which recovery option to use when BitLocker is enabled can't be specified. Instead, BitLocker recovery options for the drive are determined by the policy setting. - -In **Save BitLocker recovery information to Active Directory Domain Services**, choose which BitLocker recovery information to store in Active Directory Domain Services (AD DS) for operating system drives. If **Store recovery password and key packages** is selected, the BitLocker recovery password and the key package are stored in AD DS. Storing the key package supports the recovery of data from a drive that is physically corrupted. If **Store recovery password only** is selected, only the recovery password is stored in AD DS. - -Select the **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** check box if users need to be prevented from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. - -> [!NOTE] -> If the **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** check box is selected, a recovery password is automatically generated. - - - -### Choose how BitLocker-protected fixed drives can be recovered - -This policy setting is used to configure recovery methods for fixed data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled how BitLocker-protected fixed data drives are recovered in the absence of the required credentials.| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| -|**When enabled**|it can be controlled the methods that are available to users to recover data from BitLocker-protected fixed data drives.| -|**When disabled or not configured**|The default recovery options are supported for BitLocker recovery. By default, a data recovery agent is allowed, the recovery options can be specified by the user (including the recovery password and recovery key), and recovery information isn't backed up to AD DS.| - -#### Reference: Choose how BitLocker-protected fixed drives can be recovered - -This policy setting is applied when BitLocker is turned on. - -The **Allow data recovery agent** check box is used to specify whether a data recovery agent can be used with BitLocker-protected fixed data drives. Before a data recovery agent can be used, it must be added from **Public Key Policies**, which is located in the Group Policy Management Console (GPMC) or in the Local Group Policy Editor. - -In **Configure user storage of BitLocker recovery information**, select whether users can be allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. - -Select **Omit recovery options from the BitLocker setup wizard** to prevent users from specifying recovery options when they enable BitLocker on a drive. This policy setting means that which recovery option to use when BitLocker is enabled can't be specified. Instead, BitLocker recovery options for the drive are determined by the policy setting. - -In **Save BitLocker recovery information to Active Directory Domain Services**, choose which BitLocker recovery information to store in AD DS for fixed data drives. If **Backup recovery password and key package** is selected, the BitLocker recovery password and the key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. To recover this data, the `Repair-bde.exe` command-line tool can be used. If **Backup recovery password only** is selected, only the recovery password is stored in AD DS. - -For more information about the BitLocker repair tool, see [Repair-bde](/windows-server/administration/windows-commands/repair-bde). - -Select the **Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives** check box if users should be prevented from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. - -> [!NOTE] -> If the **Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives** check box is selected, a recovery password is automatically generated. - -### Choose how BitLocker-protected removable drives can be recovered - -This policy setting is used to configure recovery methods for removable data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled how BitLocker-protected removable data drives are recovered in the absence of the required credentials.| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled.

When using data recovery agents, the **Provide the unique identifiers for your organization** policy setting must be enabled.| -|**When enabled**|it can be controlled the methods that are available to users to recover data from BitLocker-protected removable data drives.| -|**When disabled or not configured**|The default recovery options are supported for BitLocker recovery. By default, a data recovery agent is allowed, the recovery options can be specified by the user (including the recovery password and recovery key), and recovery information isn't backed up to AD DS.| - -#### Reference: Choose how BitLocker-protected removable drives can be recovered - -This policy setting is applied when BitLocker is turned on. - -The **Allow data recovery agent** check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used, it must be added from **Public Key Policies** , which is accessed using the GPMC or the Local Group Policy Editor. - -In **Configure user storage of BitLocker recovery information**, select whether users can be allowed, required, or not allowed to generate a 48-digit recovery password. - -Select **Omit recovery options from the BitLocker setup wizard** to prevent users from specifying recovery options when they enable BitLocker on a drive. This policy setting means that which recovery option to use when BitLocker is enabled can't be specified. Instead, BitLocker recovery options for the drive are determined by the policy setting. - -In **Save BitLocker recovery information to Active Directory Domain Services**, choose which BitLocker recovery information is to be stored in AD DS for removable data drives. If **Backup recovery password and key package** is selected, the BitLocker recovery password and the key package are stored in AD DS. If **Backup recovery password only** is selected, only the recovery password is stored in AD DS. - -Select the **Do not enable BitLocker until recovery information is stored in AD DS for removable data drives** check box if users should be prevented from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. - -> [!NOTE] -> If the **Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives** check box is selected, a recovery password is automatically generated. - ### Configure the pre-boot recovery message and URL This policy setting is used to configure the entire recovery message and to replace the existing URL that is displayed on the pre-boot recovery screen when the operating system drive is locked. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-fixed-drives-can-be-recovered.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-fixed-drives-can-be-recovered.md index 38a0dfca88..56c3e2ebb5 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-fixed-drives-can-be-recovered.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-fixed-drives-can-be-recovered.md @@ -7,7 +7,18 @@ ms.topic: include ### Choose how BitLocker-protected fixed drives can be recovered -This policy setting allows you to control how BitLocker-protected fixed data drives are recovered in the absence of the required credentials. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected fixed data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for fixed data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected fixed data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS +This policy setting allows you to control how BitLocker-protected fixed data drives are recovered in the absence of the required startup key information. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected fixed data drives. Here are the available options: + +- **Allow certificate-based data recovery agent**: specify whether a data recovery agent can be used with BitLocker-protected fixed data drives. Before a data recovery agent can be used, it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor +- **Configure user storage of BitLocker recovery information**: select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key +- **Omit recovery options from the BitLocker setup wizard**: prevent users from specifying recovery options when they turn on BitLocker for a drive. This means that users won't be able to specify which recovery option to use when they turn on BitLocker. BitLocker recovery options for the drive are determined by the policy setting +- **Save BitLocker recovery information to Active Directory Domain Services**: choose which BitLocker recovery information to store in AD DS for fixed data drives. If you select **Backup recovery password and key package**, both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select **Backup recovery password only**, only the recovery password is stored in AD DS +- **Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives**: prevents users from enabling BitLocker unless the device is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. When using this option, a recovery password is automatically generated. + +> [!IMPORTANT] +> The use of recovery keys must be disallowed if the **Deny write access to fixed drives not protected by BitLocker** policy setting is enabled. + +If this policy setting is disabled or not configured, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-operating-system-drives-can-be-recovered.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-operating-system-drives-can-be-recovered.md index 1d3619cc92..063ea6537f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-operating-system-drives-can-be-recovered.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-operating-system-drives-can-be-recovered.md @@ -7,7 +7,15 @@ ms.topic: include ### Choose how BitLocker-protected operating system drives can be recovered -This policy setting allows you to control how BitLocker-protected operating system drives are recovered in the absence of the required startup key information. The "Allow certificate-based data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected operating system drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services", choose which BitLocker recovery information to store in AD DS for operating system drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select "Backup recovery password only," only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for operating system drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected operating system drives. If this policy setting is disabled or not configured, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS. +This policy setting allows you to control how BitLocker-protected operating system drives are recovered in the absence of the required startup key information. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected operating system drives. Here are the available options: + +- **Allow certificate-based data recovery agent**: specify whether a data recovery agent can be used with BitLocker-protected OS drives. Before a data recovery agent can be used, it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor +- **Configure user storage of BitLocker recovery information**: select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key +- **Omit recovery options from the BitLocker setup wizard**: prevent users from specifying recovery options when they turn on BitLocker for a drive. This means that users won't be able to specify which recovery option to use when they turn on BitLocker. BitLocker recovery options for the drive are determined by the policy setting +- **Save BitLocker recovery information to Active Directory Domain Services**: choose which BitLocker recovery information to store in AD DS for operating system drives. If you select **Backup recovery password and key package**, both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select **Backup recovery password only**, only the recovery password is stored in AD DS +- **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives**: prevents users from enabling BitLocker unless the device is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. When using this option, a recovery password is automatically generated. + +If this policy setting is disabled or not configured, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-removable-drives-can-be-recovered.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-removable-drives-can-be-recovered.md index d57b2cf95b..b1c1e7568b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-removable-drives-can-be-recovered.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-how-bitlocker-protected-removable-drives-can-be-recovered.md @@ -7,7 +7,18 @@ ms.topic: include ### Choose how BitLocker-protected removable drives can be recovered -This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required credentials. The "Allow data recovery agent" check box is used to specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information about adding data recovery agents. In "Configure user storage of BitLocker recovery information" select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key. Select "Omit recovery options from the BitLocker setup wizard" to prevent users from specifying recovery options when they turn on BitLocker on a drive. This means that you will not be able to specify which recovery option to use when you turn on BitLocker, instead BitLocker recovery options for the drive are determined by the policy setting. In "Save BitLocker recovery information to Active Directory Domain Services" choose which BitLocker recovery information to store in AD DS for removable data drives. If you select "Backup recovery password and key package", both the BitLocker recovery password and key package are stored in AD DS. If you select "Backup recovery password only" only the recovery password is stored in AD DS. Select the "Do not enable BitLocker until recovery information is stored in AD DS for removable data drives" check box if you want to prevent users from enabling BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. Note: If the "Do not enable BitLocker until recovery information is stored in AD DS for fixed data drives" check box is selected, a recovery password is automatically generated. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. If this policy setting is not configured or disabled, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS +This policy setting allows you to control how BitLocker-protected removable data drives are recovered in the absence of the required startup key information. If you enable this policy setting, you can control the methods available to users to recover data from BitLocker-protected removable data drives. Here are the available options: + +- **Allow certificate-based data recovery agent**: specify whether a data recovery agent can be used with BitLocker-protected removable data drives. Before a data recovery agent can be used, it must be added from the Public Key Policies item in either the Group Policy Management Console or the Local Group Policy Editor +- **Configure user storage of BitLocker recovery information**: select whether users are allowed, required, or not allowed to generate a 48-digit recovery password or a 256-bit recovery key +- **Omit recovery options from the BitLocker setup wizard**: prevent users from specifying recovery options when they turn on BitLocker for a drive. This means that users won't be able to specify which recovery option to use when they turn on BitLocker. BitLocker recovery options for the drive are determined by the policy setting +- **Save BitLocker recovery information to Active Directory Domain Services**: choose which BitLocker recovery information to store in AD DS for removable data drives. If you select **Backup recovery password and key package**, both the BitLocker recovery password and key package are stored in AD DS. Storing the key package supports recovering data from a drive that has been physically corrupted. If you select **Backup recovery password only**, only the recovery password is stored in AD DS +- **Do not enable BitLocker until recovery information is stored in AD DS for removable data drives**: prevents users from enabling BitLocker unless the device is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. When using this option, a recovery password is automatically generated. + +> [!IMPORTANT] +> The use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled. + +If this policy setting is disabled or not configured, the default recovery options are supported for BitLocker recovery. By default a DRA is allowed, the recovery options can be specified by the user including the recovery password and recovery key, and recovery information is not backed up to AD DS. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md index f3db70acbc..d06d3ce67b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-recovery-password-rotation.md @@ -16,10 +16,10 @@ Possible values are: - `2`: numeric recovery password rotation upon use is *on* for both Microsoft Entra joined devices and Microsoft Entra hybrid joined devices > [!NOTE] -> The Policy is effective only when Micropsoft Entra ID or Active Directory back up for recovery password is configured to *required* +> The Policy is effective only when Micropsoft Entra ID or Active Directory backup for recovery password is configured to *required* > -> - For OS drive: enable "Do not enable BitLocker until recovery information is stored to AD DS for operating system drives" -> - For Fixed drives: enable "Do not enable BitLocker until recovery information is stored to AD DS for fixed data drives" +> - For OS drive: enable *Do not enable BitLocker until recovery information is stored to AD DS for operating system drives* +> - For fixed drives: enable "*Do not enable BitLocker until recovery information is stored to AD DS for fixed data drives* | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index a696b64607..24cf548ea1 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -37,11 +37,11 @@ The following table lists the BitLocker policies applicable to all drive types, |Policy name| CSP | GPO | |-|-|-| -|[Allow Standard User Encryption](#allow-standard-user-encryption)|✅|❌| -|[Allow Suspension Of BitLocker Protection](#allow-suspension-of-bitlocker-protection)|✅|❌| +|[Allow standard user encryption](#allow-standard-user-encryption)|✅|❌| +|[Allow suspension of BitLocker protection](#allow-suspension-of-bitlocker-protection)|✅|❌| |[Choose default folder for recovery password](#choose-default-folder-for-recovery-password)|❌|✅| |[Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength)|✅|✅| -|[Configure Recovery Password Rotation](#configure-recovery-password-rotation)|✅|❌| +|[Configure recovery password rotation](#configure-recovery-password-rotation)|✅|❌| |[Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked)|❌|✅| |[Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart)|❌|✅| |[Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization)|✅|✅| From d8811e116ef135fb68b761772dd94ae99763175e Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 28 Sep 2023 06:34:17 -0400 Subject: [PATCH 039/505] Configure use of passwords policies --- .../_bitlocker-group-policy-settings.md | 34 --------------- ...-use-of-passwords-for-fixed-data-drives.md | 43 ++++++++----------- ...f-passwords-for-operating-system-drives.md | 20 ++++----- ...-of-passwords-for-removable-data-drives.md | 22 +++++++++- 4 files changed, 46 insertions(+), 73 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index 7216ece2bc..c959f82f70 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -12,8 +12,6 @@ ms.date: 11/08/2022 ### Configure minimum PIN length for startup - - This policy setting is applied when BitLocker is turned on. The startup PIN must have a minimum length of four digits and can have a maximum length of 20 digits. Originally, BitLocker allowed a length from 4 to 20 characters for a PIN. Windows Hello has its own PIN for sign-in, length of which can be 4 to 127 characters. Both BitLocker and Windows Hello use the TPM to prevent PIN brute-force attacks. @@ -62,39 +60,7 @@ This policy setting is used to require, allow, or deny the use of smart cards wi > [!NOTE] > These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. -### Configure use of passwords on removable data drives -This policy setting is used to require, allow, or deny the use of passwords with removable data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be specified whether a password is required to unlock BitLocker-protected removable data drives.| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|To use password complexity, the **Password must meet complexity requirements** policy setting, which is located at **Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy** must also be enabled.| -|**When enabled**|Users can configure a password that meets the defined requirements. To require the use of a password, select **Require password for removable data drive**. To enforce complexity requirements on the password, select **Require complexity**.| -|**When disabled**|The user isn't allowed to use a password.| -|**When not configured**|Passwords are supported with the default settings, which don't include password complexity requirements and require only eight characters.| - -#### Reference: Configure use of passwords on removable data drives - -If use of passwords is allowed, requiring a password to be used, enforcement of password complexity requirements, and password minimum length can all be configured. For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements**, which is located at *Computer Configuration* > *Windows Settings* > *Security Settings* > *Account Policies* > *Password Policy*, must also be enabled. - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. - -Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the wanted number of characters in the **Minimum password length** box. - -When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity of the password. - -When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. However, if no domain controllers are found, the password is still be accepted regardless of actual password complexity and the drive is encrypted by using that password as a protector. - -When set to **Do not allow complexity**, no password complexity validation is done. - -> [!NOTE] -> Passwords can't be used if FIPS compliance is enabled. The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** specifies whether FIPS compliance is enabled. - -For information about this setting, see [System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing](../../../threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md). ### Enable use of BitLocker authentication requiring preboot keyboard input on slates diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md index d7f83ada9b..f607749354 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md @@ -7,34 +7,25 @@ ms.topic: include ### Configure use of passwords for fixed data drives -This policy setting specifies whether a password is required to unlock BitLocker-protected fixed data drives. If you choose to permit the use of a password, you can require that a password be used, enforce complexity requirements on the password, and configure a minimum length for the password. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements you define. To require the use of a password, select "Require password for fixed data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. - -This policy setting is used to require, allow, or deny the use of passwords with fixed data drives. - -To use password complexity, the **Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\Password must meet complexity requirements** policy setting must also be enabled. - -Users can configure a password that meets the defined requirements. To require the use of a password, select **Require password for fixed data drive**. To enforce complexity requirements on the password, select **Require complexity**. - -**When disabled** The user isn't allowed to use a password. -**When not configured** Passwords are supported with the default settings, which don't include password complexity requirements and require only eight characters. - -When set to **Require complexity**, a connection to a domain controller is necessary to validate the complexity of the password when BitLocker is enabled. - -When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. However, if no domain controllers are found, the password is accepted regardless of the actual password complexity, and the drive is encrypted by using that password as a protector. - -When set to **Do not allow complexity**, no password complexity validation is performed. - -Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the desired number of characters in the **Minimum password length** box. - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. - -For the complexity requirement setting to be effective, the Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy** > **Password must meet complexity requirements** must also be enabled. This policy setting is configured on a per-computer basis. The policy setting also applies to both local user accounts and domain user accounts. Because the password filter that's used to validate password complexity is located on the domain controllers, local user accounts can't access the password filter because they're not authenticated for domain access. When this policy setting is enabled, if a local user account signs in, and a drive is attempted to be encrypted or a password changed on an existing BitLocker-protected drive, an **Access denied** error message is displayed. In this situation, the password key protector can't be added to the drive. - -Enabling this policy setting requires that a device is connected to a domain before adding a password key protector to a BitLocker-protected drive. Users who work remotely and have periods of time in which they can't connect to the domain should be made aware of this requirement so that they can schedule a time when they'll be connected to the domain to turn on BitLocker or to change a password on a BitLocker-protected data drive. +This policy setting specifies whether a password is required to unlock BitLocker-protected fixed data drives. If you choose to allow the use of a password, you can require that a password be used, enforce complexity requirements, and configure a minimum length. > [!IMPORTANT] -> Passwords can't be used if FIPS compliance is enabled. The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting in *Computer Configuration* > *Windows Settings* > *Security Settings* > *Local Policies* > *Security Options* specifies whether FIPS compliance is enabled. +> For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements*** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. + +If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select **Require complexity**: + +- When set to **Require complexity** a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password +- When set to **Allow complexity** connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector +- When set to **Do not allow complexity**, password complexity isn't validated + +Passwords must be at least 8 characters. To configure a greater minimum length for the password, specify the desired number of characters under **Minimum password length** + +If you disable or do not configure this policy setting, the default length constraint of 8 characters applies to operating system drive passwords and no complexity checks occur. + +> [!IMPORTANT] +> Passwords can't be used if FIPS-compliance is enabled. +> +> The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting, which is located at **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** specifies whether FIPS-compliance is enabled. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md index 1629530c91..93fe756942 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md @@ -7,22 +7,20 @@ ms.topic: include ### Configure use of passwords for operating system drives -This policy controls how non-TPM based systems utilize the password protector. Used with the **Password must meet complexity requirements** policy, this policy allows administrators to require password length and complexity for using the password protector. By default, passwords must be eight characters in length. Complexity configuration options determine how important domain connectivity is for the client. For the strongest password security, administrators should choose **Require password complexity** because it requires domain connectivity, and it requires that the BitLocker password meets the same password complexity requirements as domain sign-in passwords. +This policy setting specifies the constraints for passwords used to unlock BitLocker-protected operating system drives. If non-TPM protectors are allowed on operating system drives, you can provision a password, enforce complexity requirements, and configure a minimum length. -For the complexity requirement setting to be effective, the policy *Password must meet complexity requirements*, which is located at **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. +> [!IMPORTANT] +> For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements*** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. +If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select **Require complexity**: -When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. If no domain controllers are found, the password will be accepted regardless of actual password complexity, and the drive will be encrypted by using that password as a protector. When set to **Do not allow complexity**, there's no password complexity validation. +- When set to **Require complexity** a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password +- When set to **Allow complexity** connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector +- When set to **Do not allow complexity**, password complexity isn't validated -Passwords must be at least eight characters. To configure a greater minimum length for the password, enter the desired number of characters in the **Minimum password length** box. +Passwords must be at least 8 characters. To configure a greater minimum length for the password, specify the desired number of characters under **Minimum password length** -When this policy setting is enabled, the option **Configure password complexity for operating system drives** can be set to: - -- Allow password complexity -- Deny password complexity -- Require password complexity +If you disable or do not configure this policy setting, the default length constraint of 8 characters applies to operating system drive passwords and no complexity checks occur. > [!IMPORTANT] > Passwords can't be used if FIPS-compliance is enabled. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md index be8982474f..2bb6d9760a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md @@ -7,9 +7,27 @@ ms.topic: include ### Configure use of passwords for removable data drives -This policy setting specifies whether a password is required to unlock BitLocker-protected removable data drives. If you choose to allow use of a password, you can require a password to be used, enforce complexity requirements, and configure a minimum length. For the complexity requirement setting to be effective the Group Policy setting "Password must meet complexity requirements" located in Computer Configuration\Windows Settings\Security Settings\Account Policies\Password Policy\ must be also enabled. Note: These settings are enforced when turning on BitLocker, not when unlocking a volume. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you enable this policy setting, users can configure a password that meets the requirements that you define. To require the use of a password, select "Require password for removable data drive". To enforce complexity requirements on the password, select "Require complexity". When set to "Require complexity" a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password. When set to "Allow complexity" a connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector. When set to "Do not allow complexity", no password complexity validation will be done. Passwords must be at least 8 characters. To configure a greater minimum length for the password, enter the desired number of characters in the "Minimum password length" box. If you disable this policy setting, the user is not allowed to use a password. If you do not configure this policy setting, passwords will be supported with the default settings, which do not include password complexity requirements and require only 8 characters. Note: Passwords cannot be used if FIPS-compliance is enabled. The "System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing" policy setting in Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options specifies whether FIPS-compliance is enabled. +This policy setting specifies whether a password is required to unlock BitLocker-protected removable data drives. If you choose to allow the use of a password, you can require that a password be used, enforce complexity requirements, and configure a minimum length. + +> [!IMPORTANT] +> For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements*** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. + +If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select **Require complexity**: + +- When set to **Require complexity** a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password +- When set to **Allow complexity** connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector +- When set to **Do not allow complexity**, password complexity isn't validated + +Passwords must be at least 8 characters. To configure a greater minimum length for the password, specify the desired number of characters under **Minimum password length** + +If you disable or do not configure this policy setting, the default length constraint of 8 characters applies to operating system drive passwords and no complexity checks occur. + +> [!IMPORTANT] +> Passwords can't be used if FIPS-compliance is enabled. +> +> The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting, which is located at **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** specifies whether FIPS-compliance is enabled. | | Path | |--|--| | **CSP** | Not available | -| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | +| **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Removable Data Drives** | \ No newline at end of file From f6293c4116655a1e1c2226d6609e45715de9994a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 28 Sep 2023 07:20:03 -0400 Subject: [PATCH 040/505] hardware based encryption policies --- .../_bitlocker-group-policy-settings.md | 26 ------------------- ...-based-encryption-for-fixed-data-drives.md | 15 ++++++++++- ...-encryption-for-operating-system-drives.md | 15 ++++++++++- ...ed-encryption-for-removable-data-drives.md | 15 ++++++++++- ...-use-of-passwords-for-fixed-data-drives.md | 2 +- ...f-passwords-for-operating-system-drives.md | 2 +- ...-of-passwords-for-removable-data-drives.md | 2 +- 7 files changed, 45 insertions(+), 32 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index c959f82f70..5919039de6 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -196,32 +196,6 @@ The encryption algorithm that is used by hardware-based encryption is set when t - Advanced Encryption Standard (AES) 128 in Cipher Block Chaining (CBC) mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 -### Configure use of hardware-based encryption for operating system drives - -This policy controls how BitLocker reacts when encrypted drives are used as operating system drives. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on operating system drives and specifies which encryption algorithms it can use with hardware-based encryption.| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|Additional options can be specified that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that don't support hardware-based encryption. It can also be specified to restrict the encryption algorithms and cipher suites that are used with hardware-based encryption.| -|**When disabled**|BitLocker can't use hardware-based encryption with operating system drives, and BitLocker software-based encryption is used by default when the drive in encrypted.| -|**When not configured**|BitLocker software-based encryption is used irrespective of hardware-based encryption ability.| - -#### Reference: Configure use of hardware-based encryption for operating system drives - -If hardware-based encryption isn't available, BitLocker software-based encryption is used instead. - -> [!NOTE] -> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. - -The encryption algorithm that is used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm that is configured on the drive to encrypt the drive. The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option of this setting enables restriction of the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm that is set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID), for example: - -- Advanced Encryption Standard (AES) 128 in Cipher Block Chaining (CBC) mode OID: 2.16.840.1.101.3.4.1.2 -- AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - ### Configure use of hardware-based encryption for removable data drives This policy controls how BitLocker reacts to encrypted drives when they're used as removable data drives. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-fixed-data-drives.md index 5d6f045ace..1bc81f6fb3 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-fixed-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-fixed-data-drives.md @@ -7,7 +7,20 @@ ms.topic: include ### Configure use of hardware-based encryption for fixed data drives -This policy setting allows you to manage BitLocker's use of hardware-based encryption on fixed data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 +This policy setting allows you to manage BitLocker's use of hardware-based encryption on fixed data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. + +If you enable this policy setting, you can specify options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on devices that don't support hardware-based encryption. You can also specify if you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. + +If you disable this policy setting, BitLocker can't use hardware-based encryption with fixed data drives, and BitLocker software-based encryption will be used by default when the drive is encrypted. + +If you do not configure this policy setting, BitLocker will use software-based encryption, irrespective of hardware-based encryption availability. + +> [!NOTE] +> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. +> +> The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: +> - AES 128 in CBC mode OID: `2.16.840.1.101.3.4.1.2` +> - AES 256 in CBC mode OID: `2.16.840.1.101.3.4.1.42` | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-operating-system-drives.md index e6ff8195ac..3953f2ea74 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-operating-system-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-operating-system-drives.md @@ -7,7 +7,20 @@ ms.topic: include ### Configure use of hardware-based encryption for operating system drives -This policy setting allows you to manage BitLocker's use of hardware-based encryption on operating system drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 +This policy setting allows you to manage BitLocker's use of hardware-based encryption on operating system drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. + +If you enable this policy setting, you can specify options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on devices that don't support hardware-based encryption. You can also specify if you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. + +If you disable this policy setting, BitLocker can't use hardware-based encryption with operating system drives, and BitLocker software-based encryption will be used by default when the drive is encrypted. + +If you do not configure this policy setting, BitLocker will use software-based encryption, irrespective of hardware-based encryption availability. + +> [!NOTE] +> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. +> +> The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: +> - AES 128 in CBC mode OID: `2.16.840.1.101.3.4.1.2` +> - AES 256 in CBC mode OID: `2.16.840.1.101.3.4.1.42` | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-removable-data-drives.md index c3b2c7e211..f5bdae7129 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-removable-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-hardware-based-encryption-for-removable-data-drives.md @@ -7,7 +7,20 @@ ms.topic: include ### Configure use of hardware-based encryption for removable data drives -This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. If you enable this policy setting, you can specify additional options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that do not support hardware-based encryption and whether you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. If you disable this policy setting, BitLocker cannot use hardware-based encryption with operating system drives and BitLocker software-based encryption will be used by default when the drive is encrypted. If you do not configure this policy setting, BitLocker will use software-based encryption irrespective of hardware-based encryption availability. Note: The "Choose drive encryption method and cipher strength" policy setting does not apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. The "Restrict encryption algorithms and cipher suites allowed for hardware-based encryption" option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive is not available, BitLocker will disable the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: - AES 128 in CBC mode OID: 2.16.840.1.101.3.4.1.2 - AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 +This policy setting allows you to manage BitLocker's use of hardware-based encryption on removable data drives and specify which encryption algorithms it can use with hardware-based encryption. Using hardware-based encryption can improve performance of drive operations that involve frequent reading or writing of data to the drive. + +If you enable this policy setting, you can specify options that control whether BitLocker software-based encryption is used instead of hardware-based encryption on devices that don't support hardware-based encryption. You can also specify if you want to restrict the encryption algorithms and cipher suites used with hardware-based encryption. + +If you disable this policy setting, BitLocker can't use hardware-based encryption with removable data drives, and BitLocker software-based encryption will be used by default when the drive is encrypted. + +If you do not configure this policy setting, BitLocker will use software-based encryption, irrespective of hardware-based encryption availability. + +> [!NOTE] +> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. The encryption algorithm used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm configured on the drive to encrypt the drive. +> +> The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option enables you to restrict the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID). For example: +> - AES 128 in CBC mode OID: `2.16.840.1.101.3.4.1.2` +> - AES 256 in CBC mode OID: `2.16.840.1.101.3.4.1.42` | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md index f607749354..d30a6a419a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md @@ -10,7 +10,7 @@ ms.topic: include This policy setting specifies whether a password is required to unlock BitLocker-protected fixed data drives. If you choose to allow the use of a password, you can require that a password be used, enforce complexity requirements, and configure a minimum length. > [!IMPORTANT] -> For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements*** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. +> For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select **Require complexity**: diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md index 93fe756942..8f47128758 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md @@ -10,7 +10,7 @@ ms.topic: include This policy setting specifies the constraints for passwords used to unlock BitLocker-protected operating system drives. If non-TPM protectors are allowed on operating system drives, you can provision a password, enforce complexity requirements, and configure a minimum length. > [!IMPORTANT] -> For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements*** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. +> For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select **Require complexity**: diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md index 2bb6d9760a..630784ad92 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md @@ -10,7 +10,7 @@ ms.topic: include This policy setting specifies whether a password is required to unlock BitLocker-protected removable data drives. If you choose to allow the use of a password, you can require that a password be used, enforce complexity requirements, and configure a minimum length. > [!IMPORTANT] -> For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements*** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. +> For the complexity requirement setting to be effective, the group policy setting **Password must meet complexity requirements** located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Account Policies** > **Password Policy**, must be also enabled. If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select **Require complexity**: From 8bc7695ca8b3b903c8b752948676d860509d2c0b Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 28 Sep 2023 09:39:10 -0400 Subject: [PATCH 041/505] updates --- .../_bitlocker-group-policy-settings.md | 181 ------------------ ...use-of-smart-cards-on-fixed-data-drives.md | 7 +- ...of-smart-cards-on-removable-data-drives.md | 7 +- ...ol-use-of-bitlocker-on-removable-drives.md | 9 +- ...ve-encryption-type-on-fixed-data-drives.md | 14 +- ...ryption-type-on-operating-system-drives.md | 14 +- ...ncryption-type-on-removable-data-drives.md | 14 +- .../bitlocker/policy-settings.md | 2 +- 8 files changed, 60 insertions(+), 188 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index 5919039de6..0bf0c77873 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -22,45 +22,6 @@ The Dictionary Attack Prevention Parameters provide a way to balance security ne Increasing the PIN length requires a greater number of guesses for an attacker. In that case, the lockout duration between each guess can be shortened to allow legitimate users to retry a failed attempt sooner, while maintaining a similar level of protection. -### Configure use of smart cards on fixed data drives - -This policy setting is used to require, allow, or deny the use of smart cards with fixed data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting can be used to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives on a computer.| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|To use smart cards with BitLocker, the object identifier setting in the **Computer Configuration\Administrative Templates\BitLocker Drive Encryption\Validate smart card certificate usage rule compliance** policy setting may need to be modified to match the object identifier of the smart card certificates.| -|**When enabled**|Smart cards can be used to authenticate user access to the drive. Smart card authentication can be required by selecting the **Require use of smart cards on fixed data drives** check box.| -|**When disabled**|Users can't use smart cards to authenticate their access to BitLocker-protected fixed data drives.| -|**When not configured**|Smart cards can be used to authenticate user access to a BitLocker-protected drive.| - -#### Reference: Configure use of smart cards on fixed data drives - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive by using any of the protectors that are available on the drive. - -### Configure use of smart cards on removable data drives - -This policy setting is used to require, allow, or deny the use of smart cards with removable data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting can be used to specify whether smart cards can be used to authenticate user access to BitLocker-protected removable data drives on a computer.| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|To use smart cards with BitLocker, the object identifier setting in the **Computer Configuration** > **Administrative Templates** > **BitLocker Drive Encryption** > **Validate smart card certificate usage rule compliance** policy setting may also need to be modified to match the object identifier of the smart card certificates.| -|**When enabled**|Smart cards can be used to authenticate user access to the drive. Smart card authentication can be required by selecting the **Require use of smart cards on removable data drives** check box.| -|**When disabled or not configured**|Users aren't allowed to use smart cards to authenticate their access to BitLocker-protected removable data drives.| -|**When not configured**|Smart cards are available to authenticate user access to a BitLocker-protected removable data drive.| - -#### Reference: Configure use of smart cards on removable data drives - -> [!NOTE] -> These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker allows unlocking a drive with any of the protectors that are available on the drive. - - ### Enable use of BitLocker authentication requiring preboot keyboard input on slates @@ -146,148 +107,6 @@ Conflict considerations include: 3. The **Provide the unique identifiers for your organization** policy setting must be enabled if Write access needs to be denied to drives that were configured in another organization. -### Control use of BitLocker on removable drives - -This policy setting is used to prevent users from turning BitLocker on or off on removable data drives. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled the use of BitLocker on removable data drives.| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|None| -|**When enabled**|Property settings can be selected that control how users can configure BitLocker.| -|**When disabled**|Users can't use BitLocker on removable data drives.| -|**When not configured**|Users can use BitLocker on removable data drives.| - -#### Reference: Control use of BitLocker on removable drives - -This policy setting is applied when BitLocker is turned on. - -For information about suspending BitLocker protection, see [BitLocker Basic Deployment](bitlocker-basic-deployment.md). - -The options for choosing property settings that control how users can configure BitLocker are: - -- **Allow users to apply BitLocker protection on removable data drives** Enables the user to run the BitLocker Setup Wizard on a removable data drive. - -- **Allow users to suspend and decrypt BitLocker on removable data drives** Enables the user to remove BitLocker from the drive or to suspend the encryption while performing maintenance. - -### Configure use of hardware-based encryption for fixed data drives - -This policy controls how BitLocker reacts to systems that are equipped with encrypted drives when they're used as fixed data volumes. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on fixed data drives and to specify which encryption algorithms BitLocker can use with hardware-based encryption.| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|None| -|**When enabled**|Additional options can be specified that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that don't support hardware-based encryption. It can also be specified to restrict the encryption algorithms and cipher suites that are used with hardware-based encryption.| -|**When disabled**|BitLocker can't use hardware-based encryption with fixed data drives, and BitLocker software-based encryption is used by default when the drive in encrypted.| -|**When not configured**|BitLocker software-based encryption is used irrespective of hardware-based encryption ability.| - -#### Reference: Configure use of hardware-based encryption for fixed data drives - -> [!NOTE] -> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. - -The encryption algorithm that is used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm that is configured on the drive to encrypt the drive. The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option of this setting enables restriction of the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm that is set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID), for example: - -- Advanced Encryption Standard (AES) 128 in Cipher Block Chaining (CBC) mode OID: 2.16.840.1.101.3.4.1.2 -- AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -### Configure use of hardware-based encryption for removable data drives - -This policy controls how BitLocker reacts to encrypted drives when they're used as removable data drives. Using hardware-based encryption can improve the performance of drive operations that involve frequent reading or writing of data to the drive. - -| Item | Info | -|:---|:---| -|**Policy description**|This policy setting allows management of BitLocker's use of hardware-based encryption on removable data drives and specifies which encryption algorithms it can use with hardware-based encryption.| -|**Drive type**|Removable data drive| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|None| -|**When enabled**|Additional options can be specified that control whether BitLocker software-based encryption is used instead of hardware-based encryption on computers that don't support hardware-based encryption. It can also be specified to restrict the encryption algorithms and cipher suites that are used with hardware-based encryption.| -|**When disabled**|BitLocker can't use hardware-based encryption with removable data drives, and BitLocker software-based encryption is used by default when the drive in encrypted.| -|**When not configured**|BitLocker software-based encryption is used irrespective of hardware-based encryption ability.| - -#### Reference: Configure use of hardware-based encryption for removable data drives - -If hardware-based encryption isn't available, BitLocker software-based encryption is used instead. - -> [!NOTE] -> The **Choose drive encryption method and cipher strength** policy setting doesn't apply to hardware-based encryption. - -The encryption algorithm that is used by hardware-based encryption is set when the drive is partitioned. By default, BitLocker uses the algorithm that is configured on the drive to encrypt the drive. The **Restrict encryption algorithms and cipher suites allowed for hardware-based encryption** option of this setting enables restriction of the encryption algorithms that BitLocker can use with hardware encryption. If the algorithm that is set for the drive isn't available, BitLocker disables the use of hardware-based encryption. Encryption algorithms are specified by object identifiers (OID), for example: - -- Advanced Encryption Standard (AES) 128 in Cipher Block Chaining (CBC) mode OID: 2.16.840.1.101.3.4.1.2 -- AES 256 in CBC mode OID: 2.16.840.1.101.3.4.1.42 - -### Enforce drive encryption type on fixed data drives - -This policy controls whether fixed data drives utilize Used Space Only encryption or Full encryption. Setting this policy also causes the BitLocker Setup Wizard to skip the encryption options page so no encryption selection displays to the user. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| -|**Drive type**|Fixed data drive| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|None| -|**When enabled**|This policy defines the encryption type that BitLocker uses to encrypt drives, and the encryption type option isn't presented in the BitLocker Setup Wizard.| -|**When disabled or not configured**|The BitLocker Setup Wizard asks the user to select the encryption type before turning on BitLocker.| - -#### Reference: Enforce drive encryption type on fixed data drives - -This policy setting is applied when BitLocker is turned on. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose Full encryption to make it mandatory for the entire drive to be encrypted when BitLocker is turned on. Choose Used Space Only encryption to make it mandatory to encrypt only that portion of the drive that is used to store data when BitLocker is turned on. - -> [!NOTE] -> This policy is ignored when a volume is being shrunk or expanded and the BitLocker drive uses the current encryption method. For example, when a drive that is using Used Space Only encryption is expanded, the new free space isn't wiped as it would be for a drive that is using Full encryption. The user could wipe the free space on a Used Space Only drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. - -For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -### Enforce drive encryption type on operating system drives - -This policy controls whether operating system drives utilize Full encryption or Used Space Only encryption. Setting this policy also causes the BitLocker Setup Wizard to skip the encryption options page, so no encryption selection displays to the user. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| -|**Drive type**|Operating system drive| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|The encryption type that BitLocker uses to encrypt drives is defined by this policy, and the encryption type option isn't presented in the BitLocker Setup Wizard.| -|**When disabled or not configured**|The BitLocker Setup Wizard asks the user to select the encryption type before turning on BitLocker.| - -#### Reference: Enforce drive encryption type on operating system drives - -This policy setting is applied when BitLocker is turned on. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose Full encryption to make it mandatory for the entire drive to be encrypted when BitLocker is turned on. Choose Used Space Only encryption to make it mandatory to encrypt only that portion of the drive that is used to store data when BitLocker is turned on. - -> [!NOTE] -> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using Used Space Only encryption is expanded, the new free space isn't wiped as it would be for a drive that uses Full encryption. The user could wipe the free space on a Used Space Only drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. - -For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -### Enforce drive encryption type on removable data drives - -This policy controls whether fixed data drives utilize Full encryption or Used Space Only encryption. Setting this policy also causes the BitLocker Setup Wizard to skip the encryption options page, so no encryption selection displays to the user. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured the encryption type that is used by BitLocker.| -|**Drive type**|Removable data drive| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|None| -|**When enabled**|The encryption type that BitLocker uses to encrypt drives is defined by this policy, and the encryption type option isn't presented in the BitLocker Setup Wizard.| -|**When disabled or not configured**|The BitLocker Setup Wizard asks the user to select the encryption type before turning on BitLocker.| - -#### Reference: Enforce drive encryption type on removable data drives - -This policy setting is applied when BitLocker is turned on. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose Full encryption to make it mandatory for the entire drive to be encrypted when BitLocker is turned on. Choose Used Space Only encryption to make it mandatory to encrypt only that portion of the drive that is used to store data when BitLocker is turned on. - -> [!NOTE] -> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using Used Space Only encryption is expanded, the new free space isn't wiped as it would be for a drive that is using Full Encryption. The user could wipe the free space on a Used Space Only drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. - -For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - ### Configure the pre-boot recovery message and URL This policy setting is used to configure the entire recovery message and to replace the existing URL that is displayed on the pre-boot recovery screen when the operating system drive is locked. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-fixed-data-drives.md index 183ae12941..9b2bf646b8 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-fixed-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-fixed-data-drives.md @@ -7,7 +7,12 @@ ms.topic: include ### Configure use of smart cards on fixed data drives -This policy setting allows you to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on fixed data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected fixed data drives. If you do not configure this policy setting, smart cards can be used to authenticate user access to a BitLocker-protected drive. +This policy setting allows you to specify whether smart cards can be used to authenticate user access to the BitLocker-protected fixed data drives. + +- If you enable this policy setting, smart cards can be used to authenticate user access to the drive + - You can require a smart card authentication by selecting the **Require use of smart cards on fixed data drives** option +- If you disable this policy setting, users can't use smart cards to authenticate their access to BitLocker-protected fixed data drives +- If you don't configure this policy setting, smart cards can be used to authenticate user access to a BitLocker-protected drive | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-removable-data-drives.md index a43596de04..e0df4db06e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-removable-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-smart-cards-on-removable-data-drives.md @@ -7,7 +7,12 @@ ms.topic: include ### Configure use of smart cards on removable data drives -This policy setting allows you to specify whether smart cards can be used to authenticate user access to BitLocker-protected removable data drives on a computer. If you enable this policy setting smart cards can be used to authenticate user access to the drive. You can require a smart card authentication by selecting the "Require use of smart cards on removable data drives" check box. Note: These settings are enforced when turning on BitLocker, not when unlocking a drive. BitLocker will allow unlocking a drive with any of the protectors available on the drive. If you disable this policy setting, users are not allowed to use smart cards to authenticate their access to BitLocker-protected removable data drives. If you do not configure this policy setting, smart cards are available to authenticate user access to a BitLocker-protected removable data drive. +This policy setting allows you to specify whether smart cards can be used to authenticate user access to the BitLocker-protected removable data drives. + +- If you enable this policy setting, smart cards can be used to authenticate user access to the drive + - You can require a smart card authentication by selecting the **Require use of smart cards on removable data drives** option +- If you disable this policy setting, users can't use smart cards to authenticate their access to BitLocker-protected removable data drives +- If you don't configure this policy setting, smart cards can be used to authenticate user access to a BitLocker-protected drive | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/control-use-of-bitlocker-on-removable-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/control-use-of-bitlocker-on-removable-drives.md index 7ee41cc482..8087881724 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/control-use-of-bitlocker-on-removable-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/control-use-of-bitlocker-on-removable-drives.md @@ -7,7 +7,14 @@ ms.topic: include ### Control use of BitLocker on removable drives -This policy setting controls the use of BitLocker on removable data drives. When this policy setting is enabled you can select property settings that control how users can configure BitLocker. Choose "Allow users to apply BitLocker protection on removable data drives" to permit the user to run the BitLocker setup wizard on a removable data drive. Choose "Allow users to suspend and decrypt BitLocker on removable data drives" to permit the user to remove BitLocker Drive encryption from the drive or suspend the encryption while maintenance is performed. Consult the BitLocker Drive Encryption Deployment Guide on Microsoft TechNet for more information on suspending BitLocker protection. If you do not configure this policy setting, users can use BitLocker on removable disk drives. If you disable this policy setting, users cannot use BitLocker on removable disk drives. +This policy setting controls the use of BitLocker on removable data drives. + +When this policy setting is enabled, you can select property settings that control how users can configure BitLocker: + +- Choose **Allow users to apply BitLocker protection on removable data drives** to permit the user to run the BitLocker setup wizard on a removable data drive +- Choose **Allow users to suspend and decrypt BitLocker on removable data drives** to permit the user to remove BitLocker encryption from the drive or suspend the encryption while maintenance is performed + +If you disable this policy setting, users can't use BitLocker on removable disk drives. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md index cbaa96bbcb..1d5a78d3c1 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md @@ -7,7 +7,19 @@ ms.topic: include ### Enforce drive encryption type on fixed data drives -This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. +This policy setting controls the use of BitLocker on fixed data drives. + +If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard: + +- Choose **full encryption** to require that the entire drive be encrypted when BitLocker is turned on +- Choose **used space only encryption** to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on + +If you disable or don't configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + +> [!NOTE] +> Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. +> +> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using *Used Space Only encryption* is expanded, the new free space isn't wiped as it would be for a drive that uses *Full encryption*. The user could wipe the free space on a *Used Space Only* drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md index 61fa1ce693..251f8a9fdd 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md @@ -7,7 +7,19 @@ ms.topic: include ### Enforce drive encryption type on operating system drives -This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. +This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. + +If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard: + +- Choose **full encryption** to require that the entire drive be encrypted when BitLocker is turned on +- Choose **used space only encryption** to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on + +If you disable or don't configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + +> [!NOTE] +> Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. +> +> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using *Used Space Only encryption* is expanded, the new free space isn't wiped as it would be for a drive that uses *Full encryption*. The user could wipe the free space on a *Used Space Only* drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md index 0312292faf..092edd5b35 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md @@ -7,7 +7,19 @@ ms.topic: include ### Enforce drive encryption type on removable data drives -This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. Choose full encryption to require that the entire drive be encrypted when BitLocker is turned on. Choose used space only encryption to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on. If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard. If you disable or do not configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. +This policy setting controls the use of BitLocker on removable data drives. + +If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard: + +- Choose **full encryption** to require that the entire drive be encrypted when BitLocker is turned on +- Choose **used space only encryption** to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on + +If you disable or don't configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. + +> [!NOTE] +> Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. +> +> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using *Used Space Only encryption* is expanded, the new free space isn't wiped as it would be for a drive that uses *Full encryption*. The user could wipe the free space on a *Used Space Only* drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 24cf548ea1..453f9538be 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -20,7 +20,7 @@ If multiple changes are necessary to bring the drive into compliance, BitLocker In other scenarios, to bring the drive into compliance with a change in policy settings, BitLocker may need to be disabled and the drive decrypted followed by re-enabling BitLocker and then re-encrypting the drive. An example of this scenario is when the BitLocker encryption method or cipher strength is changed. The [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line can also be used in this scenario to help bring the device into compliance. > [!IMPORTANT] -> Most of the BitLocker settings are applied when BitLocker is initially turned on for a drive. Encryption isn't restarted if settings change. +> Most of the BitLocker policy settings are enforced when BitLocker is initially turned on for a drive. Encryption isn't restarted if settings change. ## Settings list From c9c6f5665b0a16fe3118e246db15c7cb80b4160b Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 28 Sep 2023 10:25:23 -0400 Subject: [PATCH 042/505] updates --- .../_bitlocker-group-policy-settings.md | 72 ------------------- ...onfigure-minimum-pin-length-for-startup.md | 14 +++- ...fixed-drives-not-protected-by-bitlocker.md | 30 ++++++++ ...vable-drives-not-protected-by-bitlocker.md | 20 +++++- 4 files changed, 61 insertions(+), 75 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index 0bf0c77873..3c94ea99bc 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -10,19 +10,6 @@ ms.date: 11/08/2022 # BitLocker group policy settings -### Configure minimum PIN length for startup - -This policy setting is applied when BitLocker is turned on. The startup PIN must have a minimum length of four digits and can have a maximum length of 20 digits. - -Originally, BitLocker allowed a length from 4 to 20 characters for a PIN. Windows Hello has its own PIN for sign-in, length of which can be 4 to 127 characters. Both BitLocker and Windows Hello use the TPM to prevent PIN brute-force attacks. - -The TPM can be configured to use Dictionary Attack Prevention parameters ([lockout threshold and lockout duration](../../../hardware-security/tpm/trusted-platform-module-services-group-policy-settings.md) to control how many failed authorizations attempts are allowed before the TPM is locked out, and how much time must elapse before another attempt can be made. - -The Dictionary Attack Prevention Parameters provide a way to balance security needs with usability. For example, when BitLocker is used with a TPM + PIN configuration, the number of PIN guesses is limited over time. A TPM 2.0 in this example could be configured to allow only 32 PIN guesses immediately, and then only one more guess every two hours. This number of attempts totals to a maximum of about 4415 guesses per year. If the PIN is four digits, all 9999 possible PIN combinations could be attempted in a little over two years. - -Increasing the PIN length requires a greater number of guesses for an attacker. In that case, the lockout duration between each guess can be shortened to allow legitimate users to retry a failed attempt sooner, while maintaining a similar level of protection. - - ### Enable use of BitLocker authentication requiring preboot keyboard input on slates | Item | Info | @@ -48,65 +35,6 @@ If this policy setting isn't enabled, the following options in the **Require add - Configure TPM startup key and PIN: Required and Allowed - Configure use of passwords for operating system drives -### Deny write access to fixed drives not protected by BitLocker - -This policy setting is used to require encryption of fixed drives prior to granting Write access. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be set whether BitLocker protection is required for fixed data drives to be writable on a computer.| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|See the Reference section for a description of conflicts.| -|**When enabled**|All fixed data drives that aren't BitLocker-protected are mounted as Read-only. If the drive is protected by BitLocker, it's mounted with Read and Write access.| -|**When disabled or not configured**|All fixed data drives on the computer are mounted with Read and Write access.| - -#### Reference: Deny write access to fixed drives not protected by BitLocker - -This policy setting is applied when BitLocker is turned on. - -Conflict considerations include: - -1. When this policy setting is enabled, users receive **Access denied** error messages when they try to save data to unencrypted fixed data drives. See the Reference section for additional conflicts. - -2. If `BdeHdCfg.exe` is run on a computer when this policy setting is enabled, the following issues could be encountered: - - - If it was attempted to shrink a drive to create the system drive, the drive size is successfully reduced, and a raw partition is created. However, the raw partition isn't formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** - - - If it was attempted to use unallocated space to create the system drive, a raw partition will be created. However, the raw partition won't be formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** - - - If it was attempted to merge an existing drive into the system drive, the tool fails to copy the required boot file onto the target drive to create the system drive. The following error message is displayed: **BitLocker setup failed to copy boot files. You may need to manually prepare your drive for BitLocker.** - -3. If this policy setting is enforced, a hard drive can't be repartitioned because the drive is protected. If computers are being upgrading in an organization from a previous version of Windows, and those computers were configured with a single partition, the required BitLocker system partition should be created before applying this policy setting to the computers. - -### Deny write access to removable drives not protected by BitLocker - -This policy setting is used to require that removable drives are encrypted prior to granting Write access, and to control whether BitLocker-protected removable drives that were configured in another organization can be opened with Write access. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether BitLocker protection is required for a computer to be able to write data to a removable data drive.| -|**Drive type**|Removable data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Removable Data Drives*| -|**Conflicts**|See the Reference section for a description of conflicts.| -|**When enabled**|All removable data drives that aren't BitLocker-protected are mounted as Read-only. If the drive is protected by BitLocker, it's mounted with Read and Write access.| -|**When disabled or not configured**|All removable data drives on the computer are mounted with Read and Write access.| - -#### Reference: Deny write access to removable drives not protected by BitLocker - -If the **Deny write access to devices configured in another organization** option is selected, only drives with identification fields that match the computer's identification fields are given Write access. When a removable data drive is accessed, it's checked for a valid identification field and allowed identification fields. These fields are defined by the **Provide the unique identifiers for your organization** policy setting. - -> [!NOTE] -> This policy setting can be overridden with the policy settings under **User Configuration** > **Administrative Templates** > **System** > **Removable Storage Access**. If the **Removable Disks: Deny write access** policy setting is enabled, this policy setting will be ignored. - -Conflict considerations include: - -1. Use of BitLocker with the TPM plus a startup key or with the TPM plus a PIN and startup key must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled. - -2. Use of recovery keys must be disallowed if the **Deny write access to removable drives not protected by BitLocker** policy setting is enabled. - -3. The **Provide the unique identifiers for your organization** policy setting must be enabled if Write access needs to be denied to drives that were configured in another organization. - ### Configure the pre-boot recovery message and URL This policy setting is used to configure the entire recovery message and to replace the existing URL that is displayed on the pre-boot recovery screen when the operating system drive is locked. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md index 0ab77f463a..36c55c753d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-minimum-pin-length-for-startup.md @@ -7,10 +7,20 @@ ms.topic: include ### Configure minimum PIN length for startup -This policy configures a minimum length for a Trusted Platform Module (TPM) startup PIN. The startup PIN must have a minimum length of 4 digits and can have a maximum length of 20 digits. If you enable this policy setting, you can require a minimum number of digits to be used when setting the startup PIN. If you disable or do not configure this policy setting, users can configure a startup PIN of any length between 6 and 20 digits. +This policy configures a minimum length for a Trusted Platform Module (TPM) startup PIN. The startup PIN must have a minimum length of 4 digits and can have a maximum length of 20 digits. +If you enable this policy setting, you can require a minimum number of digits to be used when setting the startup PIN.\ +If you disable or do not configure this policy setting, users can configure a startup PIN of any length between 6 and 20 digits. -NOTE: If minimum PIN length is set below 6 digits, Windows will attempt to update the TPM 2.0 lockout period to be greater than the default when a PIN is changed. If successful, Windows will only reset the TPM lockout period back to default if the TPM is reset. +The TPM can be configured to use Dictionary Attack Prevention parameters ([lockout threshold and lockout duration](../../../../hardware-security/tpm/trusted-platform-module-services-group-policy-settings.md) to control how many failed authorizations attempts are allowed before the TPM is locked out, and how much time must elapse before another attempt can be made. + +The Dictionary Attack Prevention Parameters provide a way to balance security needs with usability. For example, when BitLocker is used with a TPM + PIN configuration, the number of PIN guesses is limited over time. A TPM 2.0 in this example could be configured to allow only 32 PIN guesses immediately, and then only one more guess every two hours. This number of attempts totals to a maximum of about 4415 guesses per year. If the PIN is four digits, all 9999 possible PIN combinations could be attempted in a little over two years. + +> [!TIP] +> Increasing the PIN length requires a greater number of guesses for an attacker. In that case, the lockout duration between each guess can be shortened to allow legitimate users to retry a failed attempt sooner, while maintaining a similar level of protection. + +> [!NOTE] +> If minimum PIN length is set below 6 digits, Windows will attempt to update the TPM 2.0 lockout period to be greater than the default when a PIN is changed. If successful, Windows will only reset the TPM lockout period back to default if the TPM is reset. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md index 5dba523acb..a1cf83f4c6 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md @@ -14,3 +14,33 @@ This policy setting determines whether BitLocker protection is required for fixe | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[FixedDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#fixeddrivesrequireencryption) | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | +### Deny write access to fixed drives not protected by BitLocker + +This policy setting is used to require encryption of fixed drives prior to granting Write access. + +| Item | Info | +|:---|:---| +|**Policy description**|With this policy setting, it can be set whether BitLocker protection is required for fixed data drives to be writable on a computer.| +|**Drive type**|Fixed data drives| +|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| +|**Conflicts**|See the Reference section for a description of conflicts.| +|**When enabled**|All fixed data drives that aren't BitLocker-protected are mounted as Read-only. If the drive is protected by BitLocker, it's mounted with Read and Write access.| +|**When disabled or not configured**|All fixed data drives on the computer are mounted with Read and Write access.| + +#### Reference: Deny write access to fixed drives not protected by BitLocker + +This policy setting is applied when BitLocker is turned on. + +Conflict considerations include: + +1. When this policy setting is enabled, users receive **Access denied** error messages when they try to save data to unencrypted fixed data drives. See the Reference section for additional conflicts. + +2. If `BdeHdCfg.exe` is run on a computer when this policy setting is enabled, the following issues could be encountered: + + - If it was attempted to shrink a drive to create the system drive, the drive size is successfully reduced, and a raw partition is created. However, the raw partition isn't formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** + + - If it was attempted to use unallocated space to create the system drive, a raw partition will be created. However, the raw partition won't be formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** + + - If it was attempted to merge an existing drive into the system drive, the tool fails to copy the required boot file onto the target drive to create the system drive. The following error message is displayed: **BitLocker setup failed to copy boot files. You may need to manually prepare your drive for BitLocker.** + +3. If this policy setting is enforced, a hard drive can't be repartitioned because the drive is protected. If computers are being upgrading in an organization from a previous version of Windows, and those computers were configured with a single partition, the required BitLocker system partition should be created before applying this policy setting to the computers. \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-removable-drives-not-protected-by-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-removable-drives-not-protected-by-bitlocker.md index e01e2f64fb..b39615a413 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-removable-drives-not-protected-by-bitlocker.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-removable-drives-not-protected-by-bitlocker.md @@ -7,7 +7,25 @@ ms.topic: include ### Deny write access to removable drives not protected by BitLocker -This policy setting configures whether BitLocker protection is required for a computer to be able to write data to a removable data drive. If you enable this policy setting, all removable data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If the "Deny write access to devices configured in another organization" option is selected, only drives with identification fields matching the computer's identification fields will be given write access. When a removable data drive is accessed it will be checked for valid identification field and allowed identification fields. These fields are defined by the "Provide the unique identifiers for your organization" policy setting. If you disable or do not configure this policy setting, all removable data drives on the computer will be mounted with read and write access. Note: This policy setting can be overridden by the policy settings under User Configuration\Administrative Templates\System\Removable Storage Access. If the "Removable Disks: Deny write access" policy setting is enabled this policy setting will be ignored. +This policy setting configures whether BitLocker protection is required for a device to be able to write data to a removable data drive. + +If you enable this policy setting: + +- all removable data drives that are not BitLocker-protected are mounted as read-only +- if the drive is protected by BitLocker, it's mounted with read and write access +- if the **Deny write access to devices configured in another organization** option is selected, only drives with identification fields matching the computer's identification fields are given write access + - When a removable data drive is accessed, it's checked for valid identification field and allowed identification fields. These fields are defined by the (*Provide the unique identifiers for your organization*)[] policy setting + +If you disable or do not configure this policy setting, all removable data drives on the computer are mounted with read and write access. + +> [!NOTE] +> This policy setting is ignored if the policy settings *Removable Disks: Deny write access* is enabled. + +> [!IMPORTANT] +> If you enable this policy: +> +> - Use of BitLocker with the *TPM startup key* or *TPM key and PIN* must be disallowed +> - Use of recovery keys must be disallowed | | Path | |--|--| From 650e50712bf35bbe1d4df78556513650d15c4600 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 28 Sep 2023 15:00:36 -0400 Subject: [PATCH 043/505] updates --- ...r-device-encryption-overview-windows-10.md | 65 +------------------ ...fixed-drives-not-protected-by-bitlocker.md | 47 +++++--------- 2 files changed, 18 insertions(+), 94 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md index 1e836d3606..8495d98d73 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md @@ -10,47 +10,17 @@ ms.date: 11/08/2022 # Overview of BitLocker device encryption - -## Data Protection in Windows 11, Windows 10, and Windows 7 - -The below table lists specific data-protection concerns and how they're addressed in Windows 11, Windows 10, and Windows 7. - -| Windows 7 | Windows 11 and Windows 10 | -|---|---| -| When BitLocker is used with a PIN to protect startup, PCs such as kiosks can't be restarted remotely. | Modern Windows devices are increasingly protected with BitLocker Device Encryption out of the box and support SSO to seamlessly protect the BitLocker encryption keys from cold boot attacks.

Network Unlock allows PCs to start automatically when connected to the internal network. | -| When BitLocker is enabled, the provisioning process can take several hours. | BitLocker pre-provisioning, encrypting hard drives, and Used Space Only encryption allow administrators to enable BitLocker quickly on new computers. | -| There's no support for using BitLocker with self-encrypting drives (SEDs). | BitLocker supports offloading encryption to encrypted hard drives. | -| Administrators have to use separate tools to manage encrypted hard drives. | BitLocker supports encrypted hard drives with onboard encryption hardware built in, which allows administrators to use the familiar BitLocker administrative tools to manage them. | -| Encrypting a new flash drive can take more than 20 minutes. | Used Space Only encryption in BitLocker To Go allows users to encrypt removable data drives in seconds. | -| BitLocker could require users to enter a recovery key when system configuration changes occur. | BitLocker requires the user to enter a recovery key only when disk corruption occurs or when the PIN or password is lost. | -| Users need to enter a PIN to start the PC, and then their password to sign in to Windows. | Modern Windows devices are increasingly protected with BitLocker Device Encryption out of the box and support SSO to help protect the BitLocker encryption keys from cold boot attacks. | - ## Prepare for drive and file encryption The best type of security measures is transparent to the user during implementation and use. Every time there's a possible delay or difficulty because of a security feature, there's a strong likelihood that users will try to bypass security. This situation is especially true for data protection, and that's a scenario that organizations need to avoid. Whether planning to encrypt entire volumes, removable devices, or individual files, Windows 11 and Windows 10 meet these needs by providing streamlined, usable solutions. In fact, several steps can be taken in advance to prepare for data encryption and make the deployment quick and smooth. -### TPM pre-provisioning - -In Windows 7, preparing the TPM offered a few challenges: - -- Turning on the TPM required going into the BIOS or UEFI firmware of the device. Turning on the TPM at the device requires someone to either physically go into the BIOS or UEFI firmware settings of the device to turn on the TPM, or to install a driver in Windows to turn on the TPM from within Windows. -- When the TPM is enabled, it may require one or more restarts. - -This made preparing the TPM in Windows 7 problematic. If IT staff are provisioning new PCs, they can handle the required steps for preparing a TPM. However, if BitLocker needed to be enabled on devices that are already in users' hands, those users would probably struggle with the technical challenges. The user would then either call to IT for support or leave BitLocker disabled. - -Microsoft includes instrumentation in Windows 11 and Windows 10 that enable the operating system to fully manage the TPM. There's no need to go into the BIOS, and all scenarios that required a restart have been eliminated. - ## Deploy hard drive encryption -BitLocker is capable of encrypting entire hard drives, including both system and data drives. BitLocker pre-provisioning can drastically reduce the time required to provision new PCs with BitLocker enabled. With Windows 11 and Windows 10, administrators can turn on BitLocker and the TPM from within the Windows Pre-installation Environment before they install Windows or as part of an automated deployment task sequence without any user interaction. Combined with Used Disk Space Only encryption and a mostly empty drive (because Windows isn't yet installed), it takes only a few seconds to enable BitLocker. - -With earlier versions of Windows, administrators had to enable BitLocker after Windows had been installed. Although this process could be automated, BitLocker would need to encrypt the entire drive, a process that could take anywhere from several hours to more than a day depending on drive size and performance, which delayed deployment. Microsoft has improved this process through multiple features in Windows 11 and Windows 10. +BitLocker is capable of encrypting entire hard drives, including both system and data drives. BitLocker pre-provisioning can drastically reduce the time required to provision new PCs with BitLocker enabled. Administrators can turn on BitLocker and the TPM from within the Windows Pre-installation Environment before they install Windows or as part of an automated deployment task sequence without any user interaction. Combined with Used Disk Space Only encryption and a mostly empty drive (because Windows isn't yet installed), it takes only a few seconds to enable BitLocker. ## BitLocker Device Encryption -Beginning in Windows 8.1, Windows automatically enables BitLocker Device Encryption on devices that support Modern Standby. With Windows 11 and Windows 10, Microsoft offers BitLocker Device Encryption support on a much broader range of devices, including those devices that are Modern Standby, and devices that run Home edition of Windows 10 or Windows 11. - -Microsoft expects that most devices in the future will pass the requirements for BitLocker Device Encryption that will make BitLocker Device Encryption pervasive across modern Windows devices. BitLocker Device Encryption further protects the system by transparently implementing device-wide data encryption. +Windows automatically enables BitLocker Device Encryption on devices that support Modern Standby. Unlike a standard BitLocker implementation, BitLocker Device Encryption is enabled automatically so that the device is always protected. The following list outlines how BitLocker Device Encryption is enabled automatically: @@ -128,33 +98,4 @@ For more information about how to configure Network unlock feature, see [BitLock ## Microsoft BitLocker administration and monitoring -Part of the Microsoft Desktop Optimization Pack, Microsoft BitLocker Administration and Monitoring (MBAM) makes it easier to manage and support BitLocker and BitLocker To Go. MBAM 2.5 with Service Pack 1, the latest version, has the following key features: - -- Enables administrators to automate the process of encrypting volumes on client computers across the enterprise. - -- Enables security officers to quickly determine the compliance state of individual computers or even of the enterprise itself. - -- Provides centralized reporting and hardware management with Microsoft Configuration Manager. - -- Reduces the workload on the help desk to assist end users with BitLocker recovery requests. - -- Enables end users to recover encrypted devices independently by using the Self-Service Portal. - -- Enables security officers to easily audit access to recovery key information. - -- Empowers Windows Enterprise users to continue working anywhere with the assurance that their corporate data is protected. - -- Enforces the BitLocker encryption policy options that are set for the enterprise. - -- Integrates with existing management tools, such as Microsoft Configuration Manager. - -- Offers an IT-customizable recovery user experience. - -- Supports Windows 11 and Windows 10. - -> [!IMPORTANT] -> Enterprises could use MBAM to manage client computers with BitLocker that are domain-joined on-premises until mainstream support ended in July 2019, or they could receive extended support until April 2026. - -Going forward, the functionality of MBAM will be incorporated into Configuration Manager. For more information, see [Plan for BitLocker management](/mem/configmgr/protect/plan-design/bitlocker-management). - -Enterprises not using Configuration Manager can use the built-in features of Azure AD and Microsoft Intune for administration and monitoring. For more information, see [Monitor device encryption with Intune](/mem/intune/protect/encryption-monitor). +Enterprises can use Configuration Manager or the built-in features of Azure AD and Microsoft Intune for BitLocker administration and monitoring. For more information, see [Monitor device encryption with Intune](/mem/intune/protect/encryption-monitor). diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md index a1cf83f4c6..06e7b3df23 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/deny-write-access-to-fixed-drives-not-protected-by-bitlocker.md @@ -7,40 +7,23 @@ ms.topic: include ### Deny write access to fixed drives not protected by BitLocker -This policy setting determines whether BitLocker protection is required for fixed data drives to be writable on a computer. If you enable this policy setting, all fixed data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. If you disable or do not configure this policy setting, all fixed data drives on the computer will be mounted with read and write access. +This policy setting is used to require encryption of fixed drives prior to granting *write* access. + +If you enable this policy setting, all fixed data drives that are not BitLocker-protected will be mounted as read-only. If the drive is protected by BitLocker, it will be mounted with read and write access. + +If you disable or don't configure this policy setting, all fixed data drives on the computer will be mounted with read and write access. + +> [!NOTE] +> When this policy setting is enabled, users receive **Access denied** error messages when they try to save data to unencrypted fixed data drives. +> +> +> If the *BitLocker Drive Preparation Tool* `BdeHdCfg.exe` is executed on a computer when this policy setting is enabled, the following issues could be encountered: +> +> - If you attempt to shrink a drive to create the system drive, the drive size is successfully reduced, and a raw partition is created. However, the raw partition isn't formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** +> - If you attempt to use unallocated space to create the system drive, a raw partition is created. However, the raw partition isn't be formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** +> - If you attempt to merge an existing drive into the system drive, the tool fails to copy the required boot file onto the target drive to create the system drive. The following error message is displayed: **BitLocker setup failed to copy boot files. You may need to manually prepare your drive for BitLocker.** | | Path | |--|--| | **CSP** | `./Device/Vendor/MSFT/BitLocker/`[FixedDrivesRequireEncryption](/windows/client-management/mdm/bitlocker-csp#fixeddrivesrequireencryption) | | **GPO** | **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Fixed Data Drives** | - -### Deny write access to fixed drives not protected by BitLocker - -This policy setting is used to require encryption of fixed drives prior to granting Write access. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be set whether BitLocker protection is required for fixed data drives to be writable on a computer.| -|**Drive type**|Fixed data drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Fixed Data Drives*| -|**Conflicts**|See the Reference section for a description of conflicts.| -|**When enabled**|All fixed data drives that aren't BitLocker-protected are mounted as Read-only. If the drive is protected by BitLocker, it's mounted with Read and Write access.| -|**When disabled or not configured**|All fixed data drives on the computer are mounted with Read and Write access.| - -#### Reference: Deny write access to fixed drives not protected by BitLocker - -This policy setting is applied when BitLocker is turned on. - -Conflict considerations include: - -1. When this policy setting is enabled, users receive **Access denied** error messages when they try to save data to unencrypted fixed data drives. See the Reference section for additional conflicts. - -2. If `BdeHdCfg.exe` is run on a computer when this policy setting is enabled, the following issues could be encountered: - - - If it was attempted to shrink a drive to create the system drive, the drive size is successfully reduced, and a raw partition is created. However, the raw partition isn't formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** - - - If it was attempted to use unallocated space to create the system drive, a raw partition will be created. However, the raw partition won't be formatted. The following error message is displayed: **The new active drive cannot be formatted. You may need to manually prepare your drive for BitLocker.** - - - If it was attempted to merge an existing drive into the system drive, the tool fails to copy the required boot file onto the target drive to create the system drive. The following error message is displayed: **BitLocker setup failed to copy boot files. You may need to manually prepare your drive for BitLocker.** - -3. If this policy setting is enforced, a hard drive can't be repartitioned because the drive is protected. If computers are being upgrading in an organization from a previous version of Windows, and those computers were configured with a single partition, the required BitLocker system partition should be created before applying this policy setting to the computers. \ No newline at end of file From 1602ef7d91c773fa3b18849c0acf5e4258eb0c0a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 28 Sep 2023 17:14:25 -0400 Subject: [PATCH 044/505] updates --- .../_bitlocker-group-policy-settings.md | 96 ------------------- .../bitlocker/bitlocker-basic-deployment.md | 2 +- ...s-10.md => bitlocker-device-encryption.md} | 2 +- ...ow-secure-boot-for-integrity-validation.md | 15 ++- ...igure-pre-boot-recovery-message-and-url.md | 9 +- .../prevent-memory-overwrite-on-restart.md | 9 +- ...nique-identifiers-for-your-organization.md | 12 ++- ...t-configuration-data-validation-profile.md | 2 +- ...nd-storage-area-networks-with-bitlocker.md | 2 +- .../data-protection/bitlocker/toc.yml | 6 +- 10 files changed, 48 insertions(+), 107 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{bitlocker-device-encryption-overview-windows-10.md => bitlocker-device-encryption.md} (99%) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md index 3c94ea99bc..34ceda994e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md @@ -35,102 +35,6 @@ If this policy setting isn't enabled, the following options in the **Require add - Configure TPM startup key and PIN: Required and Allowed - Configure use of passwords for operating system drives -### Configure the pre-boot recovery message and URL - -This policy setting is used to configure the entire recovery message and to replace the existing URL that is displayed on the pre-boot recovery screen when the operating system drive is locked. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured the BitLocker recovery screen to display a customized message and URL.| -|**Introduced**|Windows| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > *Configure pre-boot recovery message and URL*| -|**Conflicts**|None| -|**When enabled**|The customized message and URL are displayed on the pre-boot recovery screen. If a custom recovery message and URL has been previously enabled and the message and URL need to be reverted back to the default message and URL, the policy setting must be enabled and the **Use default recovery message and URL** option selected.| -|**When disabled or not configured**|If the setting hasn't been previously enabled, then the default pre-boot recovery screen is displayed for BitLocker recovery. If the setting previously was enabled and is later disabled, then the last message in Boot Configuration Data (BCD) is displayed whether it was the default recovery message or the custom message.| - -#### Reference: Configure the pre-boot recovery message and URL - -Enabling the **Configure the pre-boot recovery message and URL** policy setting allows customization of the default recovery screen message and URL to assist customers in recovering their key. - -Once the setting is enabled, three options are available: - -- If the **Use default recovery message and URL** option is selected, the default BitLocker recovery message and URL will be displayed on the pre-boot recovery screen. -- If the **Use custom recovery message** option is selected, enter the custom message in the **Custom recovery message option** text box. The message that is entered in the **Custom recovery message option** text box is displayed on the pre-boot recovery screen. If a recovery URL is available, include it in the message. -- If the **Use custom recovery URL** option is selected, enter the custom message URL in the **Custom recovery URL option** text box. The URL that is entered in the **Custom recovery URL option** text box replaces the default URL in the default recovery message, which is displayed on the pre-boot recovery screen. - -> [!IMPORTANT] -> Not all characters and languages are supported in the pre-boot environment. It is strongly recommended to verify the correct appearance of the characters that are used for the custom message and URL on the pre-boot recovery screen. - -> [!IMPORTANT] -> Because BCDEdit commands can be altered manually before Group Policy settings have been set, the policy setting can't be returned to the default setting by selecting the **Not Configured** option after this policy setting has been configured. To return to the default pre-boot recovery screen leave the policy setting enabled and select the **Use default message** options from the **Choose an option for the pre-boot recovery message** drop-down list box. - -### Allow Secure Boot for integrity validation - -This policy controls how BitLocker-enabled system volumes are handled with the Secure Boot feature. Enabling this feature forces Secure Boot validation during the boot process and verifies Boot Configuration Data (BCD) settings according to the Secure Boot policy. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured whether Secure Boot will be allowed as the platform integrity provider for BitLocker operating system drives.| -|**Drive type**|All drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|If **Allow Secure Boot for integrity validation** is enabled, make sure the Configure TPM platform validation profile for native UEFI firmware configurations Group Policy setting isn't enabled, or include PCR 7 to allow BitLocker to use Secure Boot for platform or BCD integrity validation.

For more information about PCR 7, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article.| -|**When enabled or not configured**|BitLocker uses Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation.| -|**When disabled**|BitLocker uses legacy platform integrity validation, even on systems that are capable of Secure Boot-based integrity validation.| - -#### Reference: Allow Secure Boot for integrity validation - -Secure boot ensures that the computer's pre-boot environment loads only firmware that is digitally signed by authorized software publishers. - -When this policy is enabled and the hardware is capable of using secure boot for BitLocker scenarios, the **Use enhanced Boot Configuration Data validation profile** group policy setting is ignored, and secure boot verifies BCD settings according to the secure boot policy setting, which is configured separately from BitLocker. - -> [!WARNING] -> Disabling this policy might result in BitLocker recovery when manufacturer-specific firmware is updated. If this policy is disabled, suspend BitLocker prior to applying firmware updates. - -### Provide the unique identifiers for your organization - -This policy setting is used to establish an identifier that is applied to all drives that are encrypted in an organization. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, unique organizational identifiers can be associated to a new drive that is enabled with BitLocker.| -|**Conflicts**|Identification fields are required to manage certificate-based data recovery agents on BitLocker-protected drives. BitLocker manages and updates certificate-based data recovery agents only when the identification field is present on a drive and it's identical to the value that is configured on the computer.| -|**When enabled**|The identification field on the BitLocker-protected drive and any allowed identification field that is used by an organization can be configured.| - -#### Reference: Provide the unique identifiers for your organization - -These identifiers are stored as the identification field and the allowed identification field. The identification field allows association of a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives, and it can be updated on existing BitLocker-protected drives by using the [Manage-bde](/windows-server/administration/windows-commands/manage-bde) command-line tool. - -An identification field is required to manage certificate-based data recovery agents on BitLocker-protected drives and for potential updates to the BitLocker To Go Reader. BitLocker manages and updates data recovery agents only when the identification field on the drive matches the value that is configured in the identification field. In a similar manner, BitLocker updates the BitLocker To Go Reader only when the identification field's value on the drive matches the value that is configured for the identification field. - -For more information about the tool to manage BitLocker, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -The allowed identification field is used in combination with the **Deny write access to removable drives not protected by BitLocker** policy setting to help control the use of removable drives in an organization. It's a comma-separated list of identification fields from an internal organization or external organizations. - -The identification fields on existing drives can be configured by using the [Manage-bde](/windows-server/administration/windows-commands/manage-bde) command-line tool. - -When a BitLocker-protected drive is mounted on another BitLocker-enabled computer, the identification field and the allowed identification field are used to determine whether the drive is from an external organization. - -Multiple values separated by commas can be entered in the identification and allowed identification fields. The identification field can be any value upto 260 characters. - -### Prevent memory overwrite on restart - -This policy setting is used to control whether the computer's memory will be overwritten the next time the computer is restarted. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be controlled computer restart performance at the risk of exposing BitLocker secrets.| -|**Introduced**|Windows Vista| -|**Drive type**|All drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption*| -|**Conflicts**|None| -|**When enabled**|The computer won't overwrite memory when it restarts. Preventing memory overwrite may improve restart performance, but it increases the risk of exposing BitLocker secrets.| -|**When disabled or not configured**|BitLocker secrets are removed from memory when the computer restarts.| - -#### Reference: Prevent memory overwrite on restart - -This policy setting is applied when BitLocker is turned on. BitLocker secrets include key material that is used to encrypt data. This policy setting applies only when BitLocker protection is enabled. - ### Configure TPM platform validation profile for BIOS-based firmware configurations This policy setting determines what values the TPM measures when it validates early boot components before it unlocks an operating system drive on a computer with a BIOS configuration or with UEFI firmware that has the Compatibility Support Module (CSM) enabled. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-basic-deployment.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-basic-deployment.md index 52cc2816b8..252147dd1d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-basic-deployment.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-basic-deployment.md @@ -27,7 +27,7 @@ BitLocker encryption can be enabled and managed using the following methods: ### Encrypting volumes using the BitLocker control panel -Encrypting volumes with the BitLocker control panel (select **Start**, enter `Bitlocker`, select **Manage BitLocker**) is how many users will use BitLocker. The name of the BitLocker control panel is BitLocker Drive Encryption. The BitLocker control panel supports encrypting operating system, fixed data, and removable data volumes. The BitLocker control panel will organize available drives in the appropriate category based on how the device reports itself to Windows. Only formatted volumes with assigned drive letters will appear properly in the BitLocker control panel applet. +Encrypting volumes with the BitLocker control panel (select **Start**, enter `BitLocker`, select **Manage BitLocker**) is how many users will use BitLocker. The name of the BitLocker control panel is BitLocker Drive Encryption. The BitLocker control panel supports encrypting operating system, fixed data, and removable data volumes. The BitLocker control panel will organize available drives in the appropriate category based on how the device reports itself to Windows. Only formatted volumes with assigned drive letters will appear properly in the BitLocker control panel applet. To start encryption for a volume, select **Turn on BitLocker** for the appropriate drive to initialize the **BitLocker Drive Encryption Wizard**. **BitLocker Drive Encryption Wizard** options vary based on volume type (operating system volume or data volume). diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md similarity index 99% rename from windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md rename to windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md index 8495d98d73..6ad2f1a108 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md @@ -1,5 +1,5 @@ --- -title: Overview of BitLocker Device Encryption in Windows +title: Overview of BitLocker Device Encryption description: This article provides an overview of how BitLocker Device Encryption can help protect data on devices running Windows. ms.collection: - highpri diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md index 4c452c0e37..64ba96a3be 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md @@ -7,7 +7,20 @@ ms.topic: include ### Allow Secure Boot for integrity validation -This policy setting allows you to configure whether Secure Boot will be allowed as the platform integrity provider for BitLocker operating system drives. Secure Boot ensures that the PC's pre-boot environment only loads firmware that is digitally signed by authorized software publishers. Secure Boot also provides more flexibility for managing pre-boot configuration than legacy BitLocker integrity checks. If you enable or do not configure this policy setting, BitLocker will use Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation. If you disable this policy setting, BitLocker will use legacy platform integrity validation, even on systems capable of Secure Boot-based integrity validation. When this policy is enabled and the hardware is capable of using Secure Boot for BitLocker scenarios, the "Use enhanced Boot Configuration Data validation profile" group policy setting is ignored and Secure Boot verifies BCD settings according to the Secure Boot policy setting, which is configured separately from BitLocker. Note: If the group policy setting "Configure TPM platform validation profile for native UEFI firmware configurations" is enabled and has PCR 7 omitted, Bitlocker will be prevented from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Warning: Disabling this policy may result in BitLocker recovery when firmware is updated. If you disable this policy, suspend BitLocker prior to applying firmware updates. +This policy setting allows you to configure whether Secure Boot is allowed as the platform integrity provider for BitLocker operating system drives. + +Secure Boot ensures that the device's pre-boot environment only loads firmware that is digitally signed by authorized software publishers. + +- If you enable or don't configure this policy setting, BitLocker uses Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation +- If you disable this policy setting, BitLocker will use legacy platform integrity validation, even on systems capable of Secure Boot-based integrity validation + +When this policy is enabled and the hardware is capable of using Secure Boot for BitLocker scenarios, the *[Use enhanced Boot Configuration Data validation profile](../policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)* policy setting is ignored and Secure Boot verifies BCD settings according to the Secure Boot policy setting, which is configured separately from BitLocker. + +> [!NOTE] +> If the policy setting *[Configure TPM platform validation profile for native UEFI firmware configurations](../policy-settings.md?tabs=os#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations)* is enabled and has PCR 7 omitted, BitLocker is prevented from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. + +> [!WARNING] +> Disabling this policy might result in BitLocker recovery when manufacturer-specific firmware is updated. If this policy is disabled, suspend BitLocker prior to applying firmware updates. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md index 97e6ec2e34..3bb59ae196 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md @@ -7,7 +7,14 @@ ms.topic: include ### Configure pre-boot recovery message and URL -This policy setting lets you configure the entire recovery message or replace the existing URL that are displayed on the pre-boot key recovery screen when the OS drive is locked. If you select the "Use default recovery message and URL" option, the default BitLocker recovery message and URL will be displayed in the pre-boot key recovery screen. If you have previously configured a custom recovery message or URL and want to revert to the default message, you must keep the policy enabled and select the "Use default recovery message and URL" option. If you select the "Use custom recovery message" option, the message you type in the "Custom recovery message option" text box will be displayed in the pre-boot key recovery screen. If a recovery URL is available, include it in the message. If you select the "Use custom recovery URL" option, the URL you type in the "Custom recovery URL option" text box will replace the default URL in the default recovery message, which will be displayed in the pre-boot key recovery screen. Note: Not all characters and languages are supported in pre-boot. It is strongly recommended that you test that the characters you use for the custom message or URL appear correctly on the pre-boot recovery screen. +This policy setting is used to configure the recovery message and to replace the existing URL that is displayed on the pre-boot recovery screen when the OS drive is locked. + +- If you select the **Use default recovery message and URL** option, the default BitLocker recovery message and URL are displayed in the pre-boot key recovery screen. If you have previously configured a custom recovery message or URL and want to revert to the default message, you must keep the policy enabled and select the **Use default recovery message and URL** option +- If you select the **Use custom recovery message** option, the message you add to the **Custom recovery message option** text box is displayed in the pre-boot key recovery screen. If a recovery URL is available, include it in the message +- If you select the **Use custom recovery URL** option, the URL you add to the **Custom recovery URL option** text box replaces the default URL in the default recovery message, which is displayed in the pre-boot key recovery screen + +> [!NOTE] +> Not all characters and languages are supported in pre-boot. It is strongly recommended that you test that the characters you use for the custom message or URL appear correctly on the pre-boot recovery screen. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/prevent-memory-overwrite-on-restart.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/prevent-memory-overwrite-on-restart.md index c0bdf2d2c9..d3e72a7566 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/prevent-memory-overwrite-on-restart.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/prevent-memory-overwrite-on-restart.md @@ -6,7 +6,14 @@ ms.topic: include --- ### Prevent memory overwrite on restart -This policy setting controls computer restart performance at the risk of exposing BitLocker secrets. BitLocker secrets include key material used to encrypt data. This policy setting applies only when BitLocker protection is enabled. If you enable this policy setting, memory will not be overwritten when the computer restarts. Preventing memory overwrite may improve restart performance but will increase the risk of exposing BitLocker secrets. If you disable or do not configure this policy setting, BitLocker secrets are removed from memory when the computer restarts. + +This policy setting is used to control whether the computer's memory is overwritten when the device restarts. BitLocker secrets include key material used to encrypt data. + +- If you enable this policy setting, memory isn't overwritten when the computer restarts. Preventing memory overwrite may improve restart performance but increases the risk of exposing BitLocker secrets. +- If you disable or do not configure this policy setting, BitLocker secrets are removed from memory when the computer restarts. + +> [!NOTE] +> This policy setting applies only when BitLocker protection is enabled. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md index df383263ae..848e6cd752 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md @@ -7,7 +7,17 @@ ms.topic: include ### Provide the unique identifiers for your organization -This policy setting allows you to associate unique organizational identifiers to a new drive that is enabled with BitLocker. These identifiers are stored as the identification field and allowed identification field. The identification field allows you to associate a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives and can be updated on existing BitLocker-protected drives using the manage-bde command-line tool. An identification field is required for management of certificate-based data recovery agents on BitLocker-protected drives and for potential updates to the BitLocker To Go Reader. BitLocker will only manage and update data recovery agents when the identification field on the drive matches the value configured in the identification field. In a similar manner, BitLocker will only update the BitLocker To Go Reader when the identification field on the drive matches the value configured for the identification field. The allowed identification field is used in combination with the "Deny write access to removable drives not protected by BitLocker" policy setting to help control the use of removable drives in your organization. It is a comma separated list of identification fields from your organization or other external organizations. You can configure the identification fields on existing drives by using manage-bde.exe. If you enable this policy setting, you can configure the identification field on the BitLocker-protected drive and any allowed identification field used by your organization. When a BitLocker-protected drive is mounted on another BitLocker-enabled computer the identification field and allowed identification field will be used to determine whether the drive is from an outside organization. If you disable or do not configure this policy setting, the identification field is not required. Note: Identification fields are required for management of certificate-based data recovery agents on BitLocker-protected drives. BitLocker will only manage and update certificate-based data recovery agents when the identification field is present on a drive and is identical to the value configured on the computer. The identification field can be any value of 260 characters or fewer. +This policy setting allows you to associate unique organizational identifiers to a drive that is encrypted with BitLocker. The identifiers are stored as the *identification field* and *allowed identification field*: + +- The identification field allows you to associate a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives and can be updated on existing BitLocker-protected drives using the *BitLocker Drive Encryption: Configuration Tool* (`manage-bde.exe`) +- The allowed identification field is used in combination with the *[Deny write access to removable drives not protected by BitLocker](../policy-settings.md?tabs=removable##deny-write-access-to-removable-drives-not-protected-by-bitlocker)* policy setting to help control the use of removable drives in your organization. It's a comma separated list of identification fields from your organization or other external organizations. You can configure the identification fields on existing drives by using `manage-bde.exe`. + +If you enable this policy setting, you can configure the identification field on the BitLocker-protected drive and any allowed identification field used by your organization. When a BitLocker-protected drive is mounted on another BitLocker-enabled device, the identification field and allowed identification field are used to determine whether the drive is from a different organization. + +If you disable or don't configure this policy setting, the identification field is not required. + +> [!IMPORTANT] +> Identification fields are required for management of certificate-based data recovery agents on BitLocker-protected drives. BitLocker only manages and updates certificate-based data recovery agents when the identification field is present on a drive and is identical to the value configured on the device. The identification field can be any value of 260 characters or fewer. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md index 6de3f0813e..a435ba735b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/use-enhanced-boot-configuration-data-validation-profile.md @@ -12,7 +12,7 @@ This policy setting determines specific Boot Configuration Data (BCD) settings t If you don't configure this policy setting, the device will verify the default Windows BCD settings. > [!NOTE] -> When BitLocker is using Secure Boot for platform and BCD integrity validation, as defined by the *Allow Secure Boot for integrity validation* GPO, this policy setting is ignored. The setting that controls boot debugging `0x16000010` is always validated, and it has no effect if it's included in the inclusion or exclusion list. +> When BitLocker is using Secure Boot for platform and BCD integrity validation, as defined by the *[Allow Secure Boot for integrity validation](../policy-settings.md?tabs=os#allow-secure-boot-for-integrity-validation)* policy setting, this policy setting is ignored. The setting that controls boot debugging `0x16000010` is always validated, and it has no effect if it's included in the inclusion or exclusion list. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md index fd2168f6bb..46d74af3bf 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md @@ -60,7 +60,7 @@ An Active Directory Domain Services (AD DS) protector can also be used for prote BitLocker encryption is available for disks before these disks are added to a cluster storage pool. > [!NOTE] -> The advantage of The Bitlocker encryption can even be made available for disks after they are added to a cluster storage pool. +> The advantage of The BitLocker encryption can even be made available for disks after they are added to a cluster storage pool. The advantage of encrypting volumes prior to adding them to a cluster is that the disk resource need not be suspended to complete the operation. To turn on BitLocker for a disk before adding it to a cluster: diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index 7f8a32838c..f7f0a1346f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -1,9 +1,9 @@ items: - name: Overview href: index.md -- name: ___ BitLocker device encryption - href: bitlocker-device-encryption-overview-windows-10.md -- name: BitLocker Countermeasures +- name: BitLocker device encryption + href: bitlocker-device-encryption.md +- name: BitLocker countermeasures href: bitlocker-countermeasures.md - name: Deployment guides items: From 14a4a3af05c388a9a605917aa7e87a576fd131a5 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 29 Sep 2023 08:10:48 -0400 Subject: [PATCH 045/505] updates --- .../_bitlocker-group-policy-settings.md | 164 ------------------ ...-for-bios-based-firmware-configurations.md | 43 ++++- ...for-native-uefi-firmware-configurations.md | 54 +++++- ...uiring-preboot-keyboard-input-on-slates.md | 15 +- .../bitlocker/policy-settings.md | 35 ++++ 5 files changed, 144 insertions(+), 167 deletions(-) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md deleted file mode 100644 index 34ceda994e..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/_bitlocker-group-policy-settings.md +++ /dev/null @@ -1,164 +0,0 @@ ---- -title: BitLocker Group Policy settings -description: This article for IT professionals describes the function, location, and effect of each Group Policy setting that is used to manage BitLocker Drive Encryption. -ms.collection: - - highpri - - tier1 -ms.topic: reference -ms.date: 11/08/2022 ---- - -# BitLocker group policy settings - -### Enable use of BitLocker authentication requiring preboot keyboard input on slates - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, users can be allowed to enable authentication options that require user input from the preboot environment, even if the platform indicates a lack of preboot input capability.| -|**Drive type**|Operating system drive| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|Devices must have an alternative means of preboot input (such as an attached USB keyboard).| -|**When disabled or not configured**|The Windows Recovery Environment must be enabled on tablets to support entering the BitLocker recovery password.| - -#### Reference: Enable use of BitLocker authentication requiring preboot keyboard input on slates - -The Windows touch keyboard (such as used by tablets) isn't available in the preboot environment where BitLocker requires additional information, such as a PIN or password. - -It's recommended that administrators enable this policy only for devices that are verified to have an alternative means of preboot input, such as attaching a USB keyboard. - -When the Windows Recovery Environment (WinRE) isn't enabled and this policy isn't enabled, BitLocker can't be turned on a device that uses the Windows touch keyboard. - -If this policy setting isn't enabled, the following options in the **Require additional authentication at startup** policy might not be available: - -- Configure TPM startup PIN: Required and Allowed -- Configure TPM startup key and PIN: Required and Allowed -- Configure use of passwords for operating system drives - -### Configure TPM platform validation profile for BIOS-based firmware configurations - -This policy setting determines what values the TPM measures when it validates early boot components before it unlocks an operating system drive on a computer with a BIOS configuration or with UEFI firmware that has the Compatibility Support Module (CSM) enabled. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured how the computer's TPM security hardware secures the BitLocker encryption key.| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|None| -|**When enabled**|The boot components that the TPM validates before unlocking access to the BitLocker-encrypted operating system drive can be configured. If any of these components change while BitLocker protection is in effect, then the TPM doesn't release the encryption key to unlock the drive. Instead, the computer displays the BitLocker Recovery console and requires that the recovery password or the recovery key is provided to unlock the drive.| -|**When disabled or not configured**|The TPM uses the default platform validation profile or the platform validation profile that is specified by the setup script.| - -#### Reference: Configure TPM platform validation profile for BIOS-based firmware configurations - -This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker has already been turned on with TPM protection. - -> [!IMPORTANT] -> This Group Policy setting only applies to computers with BIOS configurations or to computers with UEFI firmware with the CSM enabled. Computers that use a native UEFI firmware configuration store different values in the Platform Configuration Registers (PCRs). Use the **Configure TPM platform validation profile for native UEFI firmware configurations** Group Policy setting to configure the TPM PCR profile for computers that use native UEFI firmware. - -A platform validation profile consists of a set of PCR indices that range from 0 to 23. The default platform validation profile secures the encryption key against changes to the following PCRs: - -- Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0) -- Option ROM Code (PCR 2) -- Master Boot Record (MBR) Code (PCR 4) -- NTFS Boot Sector (PCR 8) -- NTFS Boot Block (PCR 9) -- Boot Manager (PCR 10) -- BitLocker Access Control (PCR 11) - -> [!NOTE] -> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. - -The following list identifies all of the available PCRs: - -- PCR 0: Core root-of-trust for measurement, BIOS, and platform extensions -- PCR 1: Platform and motherboard configuration and data. -- PCR 2: Option ROM code -- PCR 3: Option ROM data and configuration -- PCR 4: Master Boot Record (MBR) code -- PCR 5: Master Boot Record (MBR) partition table -- PCR 6: State transition and wake events -- PCR 7: Computer manufacturer-specific -- PCR 8: NTFS boot sector -- PCR 9: NTFS boot block -- PCR 10: Boot manager -- PCR 11: BitLocker access control -- PCR 12-23: Reserved for future use - -### Configure TPM platform validation profile for native UEFI firmware configurations - -This policy setting determines what values the TPM measures when it validates early boot components before unlocking an operating system drive on a computer with native UEFI firmware configurations. - -| Item | Info | -|:---|:---| -|**Policy description**|With this policy setting, it can be configured how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key.| -|**Drive type**|Operating system drives| -|**Policy path**|*Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives*| -|**Conflicts**|Setting this policy with PCR 7 omitted overrides the **Allow Secure Boot for integrity validation** Group Policy setting, and it prevents BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation.

If an environment uses TPM and Secure Boot for platform integrity checks, this policy is configured.

For more information about PCR 7, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article.| -|**When enabled**|Before BitLocker is turned on, the boot components that the TPM validates before it unlocks access to the BitLocker-encrypted operating system drive can be configured. If any of these components change while BitLocker protection is in effect, the TPM doesn't release the encryption key to unlock the drive. Instead, the computer displays the BitLocker Recovery console and requires that the recovery password or the recovery key is provided to unlock the drive.| -|**When disabled or not configured**|BitLocker uses the default platform validation profile or the platform validation profile that is specified by the setup script.| - -#### Reference: Configure TPM platform validation profile for native UEFI firmware configurations - -This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker is already turned on with TPM protection. - -> [!IMPORTANT] -> This group policy setting only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Support Module (CSM) enabled store different values in the Platform Configuration Registers (PCRs). Use the **Configure TPM platform validation profile for BIOS-based firmware configurations** Group Policy setting to configure the TPM PCR profile for computers with BIOS configurations or for computers with UEFI firmware with a CSM enabled. - -A platform validation profile consists of a set of PCR indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the core system firmware executable code (PCR 0), extended or pluggable executable code (PCR 2), boot manager (PCR 4), and the BitLocker access control (PCR 11). - -The following list identifies all of the available PCRs: - -- PCR 0: Core System Firmware executable code -- PCR 1: Core System Firmware data -- PCR 2: Extended or pluggable executable code -- PCR 3: Extended or pluggable firmware data -- PCR 4: Boot Manager -- PCR 5: GPT/Partition Table -- PCR 6: Resume from S4 and S5 Power State Events -- PCR 7: Secure Boot State -- PCR 8: Initialized to 0 with no Extends (reserved for future use) -- PCR 9: Initialized to 0 with no Extends (reserved for future use) -- PCR 10: Initialized to 0 with no Extends (reserved for future use) -- PCR 11: BitLocker access control -- PCR 12: Data events and highly volatile events -- PCR 13: Boot Module Details -- PCR 14: Boot Authorities -- PCR 15 - 23: Reserved for future use - -> [!WARNING] -> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. - -## FIPS setting - -The Federal Information Processing Standard (FIPS) setting for FIPS compliance can be configured. As an effect of FIPS compliance, users can't create or save a BitLocker password for recovery or as a key protector. The use of a recovery key is permitted. - -| Item | Info | -|:---|:---| -|**Policy description**|Notes| -|**Drive type**|System-wide| -|**Policy path**|*Local Policies* > *Security Options* > *System cryptography*: **Use FIPS compliant algorithms for encryption, hashing, and signing**| -|**Conflicts**|Some applications, such as Terminal Services, don't support FIPS-140 on all operating systems.| -|**When enabled**|Users will be unable to save a recovery password to any location. This policy setting includes AD DS and network folders. Also, WMI or the BitLocker Drive Encryption Setup wizard can't be used to create a recovery password.| -|**When disabled or not configured**|No BitLocker encryption key is generated| - -### Reference: FIPS setting - -This policy must be enabled before any encryption key is generated for BitLocker. When this policy is enabled, BitLocker prevents creating or using recovery passwords, so recovery keys should be used instead. - -The optional recovery key can be saved to a USB drive. Because recovery passwords can't be saved to AD DS when FIPS is enabled, an error is caused if AD DS backup is required by Group Policy. - -The FIPS setting can be edited by using the Security Policy Editor (`Secpol.msc`) or by editing the Windows registry. Only administrators can perform these procedures. - -For more information about setting this policy, see [System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing](../../../threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md). - -## Power management group policy settings: Sleep and Hibernate - -PCs default power settings for a computer will cause the computer to enter Sleep mode frequently to conserve power when idle and to help extend the system's battery life. When a computer transitions to Sleep, open programs and documents are persisted in memory. When a computer resumes from Sleep, users aren't required to reauthenticate with a PIN or USB startup key to access encrypted data. Not needing to reauthenticate when resuming from Sleep might lead to conditions where data security is compromised. - -However, when a computer hibernates the drive is locked, and when it resumes from hibernation the drive is unlocked, which means that users will need to provide a PIN or a startup key if using multifactor authentication with BitLocker. Therefore, organizations that use BitLocker may want to use Hibernate instead of Sleep for improved security. This setting doesn't have an impact on TPM-only mode, because it provides a transparent user experience at startup and when resuming from the Hibernate states. - -To disable all available sleep states, disable the Group Policy settings located in **Computer Configuration** > **Administrative Templates** > **System** > **Power Management** : - -- **Allow Standby States (S1-S3) When Sleeping (Plugged In)** -- **Allow Standby States (S1-S3) When Sleeping (Battery)** - diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations.md index 551febb938..9d9116e434 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations.md @@ -7,7 +7,48 @@ ms.topic: include ### Configure TPM platform validation profile for BIOS-based firmware configurations -This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with BIOS configurations or to computers with UEFI firmware with a Compatibility Service Module (CSM) enabled. Computers using a native UEFI firmware configuration store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for native UEFI firmware configurations" group policy setting to configure the TPM PCR profile for computers using native UEFI firmware. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the Core Root of Trust of Measurement (CRTM), BIOS, and Platform Extensions (PCR 0), the Option ROM Code (PCR 2), the Master Boot Record (MBR) Code (PCR 4), the NTFS Boot Sector (PCR 8), the NTFS Boot Block (PCR 9), the Boot Manager (PCR 10), and the BitLocker Access Control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. +This policy setting determines what values the TPM measures when it validates early boot components before it unlocks an operating system drive on a computer with a BIOS configuration or with UEFI firmware that has the Compatibility Support Module (CSM) enabled. + +- When enabled , the boot components that the TPM validates before unlocking access to the BitLocker-encrypted operating system drive can be configured. If any of these components change while BitLocker protection is in effect, then the TPM doesn't release the encryption key to unlock the drive. Instead, the computer displays the BitLocker Recovery console and requires that the recovery password or the recovery key is provided to unlock the drive. +- When disabled or not configured, the TPM uses the default platform validation profile or the platform validation profile that is specified by the setup script. + +This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker has already been turned on with TPM protection. + +> [!IMPORTANT] +> This Group Policy setting only applies to computers with BIOS configurations or to computers with UEFI firmware with the CSM enabled. Computers that use a native UEFI firmware configuration store different values in the Platform Configuration Registers (PCRs). Use the **Configure TPM platform validation profile for native UEFI firmware configurations** policy setting to configure the TPM PCR profile for computers that use native UEFI firmware. + +A platform validation profile consists of a set of PCR indices that range from 0 to 23. Each PCR index represents a specific measurement that the TPM validates during early boot. The default platform validation profile secures the encryption key against changes to the following PCRs: + +|PCR|Description| +|-|-| +|PCR 0|Core root-of-trust for measurement, BIOS, and platform extensions| +|PCR 2|Option ROM code| +|PCR 4|Master Boot Record (MBR) code| +|PCR 8|NTFS boot sector| +|PCR 9|NTFS boot block| +|PCR 10|Boot manager| +|PCR 11|BitLocker access control| + +> [!NOTE] +> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. + +The following list identifies all of the available PCRs: + +|PCR|Description| +|-|-| +| PCR 0 | Core root-of-trust for measurement, BIOS, and platform extensions| +| PCR 1 | Platform and motherboard configuration and data.| +| PCR 2 | Option ROM code| +| PCR 3 | Option ROM data and configuration| +| PCR 4 | Master Boot Record (MBR) code| +| PCR 5 | Master Boot Record (MBR) partition table| +| PCR 6 | State transition and wake events| +| PCR 7 | Computer manufacturer-specific| +| PCR 8 | NTFS boot sector| +| PCR 9 | NTFS boot block| +| PCR 10 | Boot manager| +| PCR 11 | BitLocker access control| +| PCR 12-23 | Reserved for future use | | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md index a1e9bf04b8..02fcc42e13 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md @@ -7,7 +7,59 @@ ms.topic: include ### Configure TPM platform validation profile for native UEFI firmware configurations -This policy setting allows you to configure how the computer's Trusted Platform Module (TPM) security hardware secures the BitLocker encryption key. This policy setting does not apply if the computer does not have a compatible TPM or if BitLocker has already been turned on with TPM protection. Important: This group policy only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Service Module (CSM) enabled store different values into the Platform Configuration Registers (PCRs). Use the "Configure TPM platform validation profile for BIOS-based firmware configurations" group policy setting to configure the TPM PCR profile for computers with BIOS configurations or computers with UEFI firmware with a CSM enabled. If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive. If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile for the available hardware or the platform validation profile specified by the setup script. A platform validation profile consists of a set of Platform Configuration Register (PCR) indices ranging from 0 to 23. On PCs that lack Secure Boot State (PCR 7) support, the default platform validation profile secures the encryption key against changes to the core system firmware executable code (PCR 0), extended or pluggable executable code (PCR 2), boot manager (PCR 4), and the BitLocker access control (PCR 11). When Secure Boot State (PCR7) support is available, the default platform validation profile secures the encryption key using Secure Boot State (PCR 7) and the BitLocker access control (PCR 11). Warning: Changing from the default platform validation profile affects the security and manageability of your computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending upon inclusion or exclusion (respectively) of the PCRs. Specifically, setting this policy with PCR 7 omitted, will override the "Allow Secure Boot for integrity validation" group policy, preventing BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. Setting this policy may result in BitLocker recovery when firmware is updated. If you set this policy to include PCR 0, suspend BitLocker prior to applying firmware updates. It is recommended to not configure this policy, to allow Windows to select the PCR profile for the best combination of security and usability based on the available hardware on each PC. +This policy setting determines what values the TPM measures when it validates early boot components before unlocking an operating system drive on a computer with native UEFI firmware configurations. + +- If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive +- If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile for the available hardware or the platform validation profile specified by the setup script + +|**Conflicts**|Setting this policy with PCR 7 omitted overrides the **Allow Secure Boot for integrity validation** Group Policy setting, and it prevents BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation.

If an environment uses TPM and Secure Boot for platform integrity checks, this policy is configured.

For more information about PCR 7, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article.| + +#### Reference: Configure TPM platform validation profile for native UEFI firmware configurations + +This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker is already turned on with TPM protection. + +> [!IMPORTANT] +> This group policy setting only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Support Module (CSM) enabled store different values in the Platform Configuration Registers (PCRs). Use the **Configure TPM platform validation profile for BIOS-based firmware configurations** Group Policy setting to configure the TPM PCR profile for computers with BIOS configurations or for computers with UEFI firmware with a CSM enabled. + +A platform validation profile consists of a set of PCR indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the following PCRs: + +|PCR|Description| +|-|-| +| PCR 0 | Core System Firmware executable code| +| PCR 2 | Extended or pluggable executable code| +| PCR 4 | Boot Manager| +| PCR 11 | BitLocker access control| + +> [!NOTE] +> When Secure Boot State (PCR7) support is available, the default platform validation profile secures the encryption key using Secure Boot State (PCR 7) and the BitLocker access control (PCR 11). + +The following list identifies all of the available PCRs: + +|PCR|Description| +|-|-| +| PCR 0 | Core System Firmware executable code| +| PCR 1 | Core System Firmware data| +| PCR 2 | Extended or pluggable executable code| +| PCR 3 | Extended or pluggable firmware data| +| PCR 4 | Boot Manager| +| PCR 5 | GPT/Partition Table| +| PCR 6 | Resume from S4 and S5 Power State Events| +| PCR 7 | Secure Boot State| +| PCR 8 | Initialized to 0 with no Extends (reserved for future use)| +| PCR 9 | Initialized to 0 with no Extends (reserved for future use)| +| PCR 10 | Initialized to 0 with no Extends (reserved for future use)| +| PCR 11 | BitLocker access control| +| PCR 12 | Data events and highly volatile events| +| PCR 13 | Boot Module Details| +| PCR 14 | Boot Authorities| +| PCR 15 - 23 | Reserved for future use + +> [!WARNING] +> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. +> +> Setting this policy with PCR 7 omitted, will override the *Allow Secure Boot for integrity validation* policy, preventing BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. +> +> Setting this policy may result in BitLocker recovery when firmware is updated. If you set this policy to include PCR 0, suspend BitLocker prior to applying firmware updates. It is recommended to not configure this policy, to allow Windows to select the PCR profile for the best combination of security and usability based on the available hardware on each device. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md index 3fbd978835..569c948a7d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md @@ -7,7 +7,20 @@ ms.topic: include ### Enable use of BitLocker authentication requiring preboot keyboard input on slates -This policy setting allows users to turn on authentication options that require user input from the pre-boot environment, even if the platform lacks pre-boot input capability. The Windows touch keyboard (such as that used by tablets) isn't available in the pre-boot environment where BitLocker requires additional information such as a PIN or Password. If you enable this policy setting, devices must have an alternative means of pre-boot input (such as an attached USB keyboard). If this policy is not enabled, the Windows Recovery Environment must be enabled on tablets to support the entry of the BitLocker recovery password. When the Windows Recovery Environment is not enabled and this policy is not enabled, you cannot turn on BitLocker on a device that uses the Windows touch keyboard. Note that if you do not enable this policy setting, options in the "Require additional authentication at startup" policy might not be available on such devices. These options include: - Configure TPM startup PIN: Required/Allowed - Configure TPM startup key and PIN: Required/Allowed - Configure use of passwords for operating system drives. +This policy setting allows users to turn on authentication options that require user input from the pre-boot environment, even if the platform lacks pre-boot input capability. The Windows touch keyboard (such as that used by tablets) isn't available in the pre-boot environment where BitLocker requires additional information such as a PIN or Password. + +- If you enable this policy setting, devices must have an alternative means of pre-boot input (such as an attached USB keyboard). +- If this policy isn't enabled, the Windows Recovery Environment must be enabled on tablets to support the entry of the BitLocker recovery password. + +It's recommended that administrators enable this policy only for devices that are verified to have an alternative means of preboot input, such as attaching a USB keyboard. + +When the Windows Recovery Environment (WinRE) isn't enabled and this policy isn't enabled, BitLocker can't be turned on a device that uses the Windows touch keyboard. + +If this policy setting isn't enabled, the following options in the **Require additional authentication at startup** policy might not be available: + +- Configure TPM startup PIN: Required and Allowed +- Configure TPM startup key and PIN: Required and Allowed +- Configure use of passwords for operating system drives | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 453f9538be..21d72bf858 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -156,3 +156,38 @@ PCR 7 measures the state of Secure Boot. With PCR 7, BitLocker can use Secure Bo PCR 7 measurements must follow the guidance that is described in [Appendix A Trusted Execution Environment EFI Protocol](/windows-hardware/test/hlk/testref/trusted-execution-environment-efi-protocol). PCR 7 measurements are a mandatory logo requirement for systems that support Modern Standby (also known as Always On, Always Connected PCs), such as the Microsoft Surface RT. On such systems, if the TPM with PCR 7 measurement and secure boot are correctly configured, BitLocker binds to PCR 7 and PCR 11 by default. + +## FIPS setting + +The Federal Information Processing Standard (FIPS) setting for FIPS compliance can be configured. As an effect of FIPS compliance, users can't create or save a BitLocker password for recovery or as a key protector. The use of a recovery key is permitted. + +| Item | Info | +|:---|:---| +|**Policy description**|Notes| +|**Drive type**|System-wide| +|**Policy path**|*Local Policies* > *Security Options* > *System cryptography*: **Use FIPS compliant algorithms for encryption, hashing, and signing**| +|**Conflicts**|Some applications, such as Terminal Services, don't support FIPS-140 on all operating systems.| +|**When enabled**|Users will be unable to save a recovery password to any location. This policy setting includes AD DS and network folders. Also, WMI or the BitLocker Drive Encryption Setup wizard can't be used to create a recovery password.| +|**When disabled or not configured**|No BitLocker encryption key is generated| + +### Reference: FIPS setting + +This policy must be enabled before any encryption key is generated for BitLocker. When this policy is enabled, BitLocker prevents creating or using recovery passwords, so recovery keys should be used instead. + +The optional recovery key can be saved to a USB drive. Because recovery passwords can't be saved to AD DS when FIPS is enabled, an error is caused if AD DS backup is required by Group Policy. + +The FIPS setting can be edited by using the Security Policy Editor (`Secpol.msc`) or by editing the Windows registry. Only administrators can perform these procedures. + +For more information about setting this policy, see [System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing](../../../threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md). + +## Power management group policy settings: Sleep and Hibernate + +PCs default power settings for a computer will cause the computer to enter Sleep mode frequently to conserve power when idle and to help extend the system's battery life. When a computer transitions to Sleep, open programs and documents are persisted in memory. When a computer resumes from Sleep, users aren't required to reauthenticate with a PIN or USB startup key to access encrypted data. Not needing to reauthenticate when resuming from Sleep might lead to conditions where data security is compromised. + +However, when a computer hibernates the drive is locked, and when it resumes from hibernation the drive is unlocked, which means that users will need to provide a PIN or a startup key if using multifactor authentication with BitLocker. Therefore, organizations that use BitLocker may want to use Hibernate instead of Sleep for improved security. This setting doesn't have an impact on TPM-only mode, because it provides a transparent user experience at startup and when resuming from the Hibernate states. + +To disable all available sleep states, disable the Group Policy settings located in **Computer Configuration** > **Administrative Templates** > **System** > **Power Management** : + +- **Allow Standby States (S1-S3) When Sleeping (Plugged In)** +- **Allow Standby States (S1-S3) When Sleeping (Battery)** + From a149ba5812108d87ba4de02be106999ff1e8ec1c Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 29 Sep 2023 08:21:29 -0400 Subject: [PATCH 046/505] updates --- .../bitlocker/bitlocker-countermeasures.md | 13 +++++ ...for-native-uefi-firmware-configurations.md | 6 ++ .../bitlocker/policy-settings.md | 57 ++----------------- ...ion-for-bitlocker-planning-and-policies.md | 25 ++++++++ 4 files changed, 49 insertions(+), 52 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md index f883ee1a42..93527d56a6 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md @@ -116,6 +116,19 @@ These files are secured on an encrypted volume by default when BitLocker is enab Enable secure boot and mandatorily prompt a password to change BIOS settings. For customers requiring protection against these advanced attacks, configure a TPM+PIN protector, disable Standby power management, and shut down or hibernate the device before it leaves the control of an authorized user. + + ### Tricking BitLocker to pass the key to a rogue operating system An attacker might modify the boot manager configuration database (BCD) which is stored on a non-encrypted partition and add an entry point to a rogue operating system on a different partition. During the boot process, BitLocker code will make sure that the operating system that the encryption key obtained from the TPM is given to, is cryptographically verified to be the intended recipient. Because this strong cryptographic verification already exists, we don't recommend storing a hash of a disk partition table in Platform Configuration Register (PCR) 5. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md index 02fcc42e13..fc79265f19 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md @@ -61,6 +61,12 @@ The following list identifies all of the available PCRs: > > Setting this policy may result in BitLocker recovery when firmware is updated. If you set this policy to include PCR 0, suspend BitLocker prior to applying firmware updates. It is recommended to not configure this policy, to allow Windows to select the PCR profile for the best combination of security and usability based on the available hardware on each device. +PCR 7 measures the state of Secure Boot. With PCR 7, BitLocker can use Secure Boot for integrity validation. Secure Boot ensures that the computer's preboot environment loads only firmware that is digitally signed by authorized software publishers. PCR 7 measurements indicate whether Secure Boot is on and which keys are trusted on the platform. If Secure Boot is on and the firmware measures PCR 7 correctly per the UEFI specification, BitLocker can bind to this information rather than to PCRs 0, 2, and 4, which have the measurements of the exact firmware and Bootmgr images loaded. This process reduces the likelihood of BitLocker starting in recovery mode as a result of firmware and image updates, and it provides with greater flexibility to manage the preboot configuration. + +PCR 7 measurements must follow the guidance that is described in [Appendix A Trusted Execution Environment EFI Protocol](/windows-hardware/test/hlk/testref/trusted-execution-environment-efi-protocol). + +PCR 7 measurements are a mandatory logo requirement for systems that support Modern Standby (also known as Always On, Always Connected PCs). On such systems, if the TPM with PCR 7 measurement and secure boot are correctly configured, BitLocker binds to PCR 7 and PCR 11 by default. + | | Path | |--|--| | **CSP** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 21d72bf858..06f9257b6d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -1,10 +1,10 @@ --- title: BitLocker policy settings -description: Learn about the policy settings to configure BitLocker. +description: Learn about the policy settings to configure BitLocker ms.collection: - tier1 ms.topic: reference -ms.date: 09/19/2023 +ms.date: 09/29/2023 --- # BitLocker policy settings @@ -24,13 +24,15 @@ In other scenarios, to bring the drive into compliance with a change in policy s ## Settings list -The list of settings is sorted alphabetically and organized in four tabs: +The list of settings is sorted alphabetically and organized in four categories: - **Common settings**: settings applicable to all BitLocker-protected drives - **Operating system drive**: settings applicable to the drive where Windows is installed - **Fixed data drives**: settings applicable to any local drives, except the operating system drive - **Removable data drives**: settings applicable to any removable drives +Select one of the tabs to see the list of available settings: + #### [:::image type="icon" source="images/locked-drive.svg"::: **Common settings**](#tab/common) The following table lists the BitLocker policies applicable to all drive types, indicating if they're applicable via configuration service provider (CSP) and/or group policy (GPO). Select the policy name for more details. @@ -142,52 +144,3 @@ The following table lists the BitLocker policies applicable to all drive types, [!INCLUDE [removable-drives-excluded-from-encryption](includes/removable-drives-excluded-from-encryption.md)] --- - -## Platform Configuration Register (PCR) - -A platform validation profile consists of a set of PCR indices that range from 0 to 23. The scope of the values can be specific to the version of the operating system. - -Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. - -### About PCR 7 - -PCR 7 measures the state of Secure Boot. With PCR 7, BitLocker can use Secure Boot for integrity validation. Secure Boot ensures that the computer's preboot environment loads only firmware that is digitally signed by authorized software publishers. PCR 7 measurements indicate whether Secure Boot is on and which keys are trusted on the platform. If Secure Boot is on and the firmware measures PCR 7 correctly per the UEFI specification, BitLocker can bind to this information rather than to PCRs 0, 2, and 4, which have the measurements of the exact firmware and Bootmgr images loaded. This process reduces the likelihood of BitLocker starting in recovery mode as a result of firmware and image updates, and it provides with greater flexibility to manage the preboot configuration. - -PCR 7 measurements must follow the guidance that is described in [Appendix A Trusted Execution Environment EFI Protocol](/windows-hardware/test/hlk/testref/trusted-execution-environment-efi-protocol). - -PCR 7 measurements are a mandatory logo requirement for systems that support Modern Standby (also known as Always On, Always Connected PCs), such as the Microsoft Surface RT. On such systems, if the TPM with PCR 7 measurement and secure boot are correctly configured, BitLocker binds to PCR 7 and PCR 11 by default. - -## FIPS setting - -The Federal Information Processing Standard (FIPS) setting for FIPS compliance can be configured. As an effect of FIPS compliance, users can't create or save a BitLocker password for recovery or as a key protector. The use of a recovery key is permitted. - -| Item | Info | -|:---|:---| -|**Policy description**|Notes| -|**Drive type**|System-wide| -|**Policy path**|*Local Policies* > *Security Options* > *System cryptography*: **Use FIPS compliant algorithms for encryption, hashing, and signing**| -|**Conflicts**|Some applications, such as Terminal Services, don't support FIPS-140 on all operating systems.| -|**When enabled**|Users will be unable to save a recovery password to any location. This policy setting includes AD DS and network folders. Also, WMI or the BitLocker Drive Encryption Setup wizard can't be used to create a recovery password.| -|**When disabled or not configured**|No BitLocker encryption key is generated| - -### Reference: FIPS setting - -This policy must be enabled before any encryption key is generated for BitLocker. When this policy is enabled, BitLocker prevents creating or using recovery passwords, so recovery keys should be used instead. - -The optional recovery key can be saved to a USB drive. Because recovery passwords can't be saved to AD DS when FIPS is enabled, an error is caused if AD DS backup is required by Group Policy. - -The FIPS setting can be edited by using the Security Policy Editor (`Secpol.msc`) or by editing the Windows registry. Only administrators can perform these procedures. - -For more information about setting this policy, see [System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing](../../../threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md). - -## Power management group policy settings: Sleep and Hibernate - -PCs default power settings for a computer will cause the computer to enter Sleep mode frequently to conserve power when idle and to help extend the system's battery life. When a computer transitions to Sleep, open programs and documents are persisted in memory. When a computer resumes from Sleep, users aren't required to reauthenticate with a PIN or USB startup key to access encrypted data. Not needing to reauthenticate when resuming from Sleep might lead to conditions where data security is compromised. - -However, when a computer hibernates the drive is locked, and when it resumes from hibernation the drive is unlocked, which means that users will need to provide a PIN or a startup key if using multifactor authentication with BitLocker. Therefore, organizations that use BitLocker may want to use Hibernate instead of Sleep for improved security. This setting doesn't have an impact on TPM-only mode, because it provides a transparent user experience at startup and when resuming from the Hibernate states. - -To disable all available sleep states, disable the Group Policy settings located in **Computer Configuration** > **Administrative Templates** > **System** > **Power Management** : - -- **Allow Standby States (S1-S3) When Sleeping (Plugged In)** -- **Allow Standby States (S1-S3) When Sleeping (Battery)** - diff --git a/windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md b/windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md index 8edb5a03a4..5b3837ef6b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md @@ -183,6 +183,31 @@ The BitLocker Group Policy settings for recovery passwords work the same for all On Windows Server 2012 R2 and Windows 8.1 and older, recovery passwords generated on a system in FIPS mode can't be used. Recovery passwords created on Windows Server 2012 R2 and Windows 8.1 are incompatible with BitLocker on operating systems older than Windows Server 2012 R2 and Windows 8.1. So, recovery keys should be used instead. + + + ## Related articles - [BitLocker frequently asked questions (FAQ)](faq.yml) From c32273438d3def57f6a4dae24786d66fc6c30eca Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 29 Sep 2023 09:28:07 -0400 Subject: [PATCH 047/505] acrolinx --- ...blishing.redirection.windows-security.json | 10 ++++++++++ .../tpm/tpm-recommendations.md | 2 +- .../bitlocker-management-for-enterprises.md | 6 +++--- .../bitlocker-recovery-guide-plan.md | 4 ++-- .../data-protection/bitlocker/faq.yml | 2 +- ...ntgo-or-hsti-to-opt-out-of-pre-boot-pin.md | 6 ++++-- .../allow-network-unlock-at-startup.md | 8 ++++---- ...ow-secure-boot-for-integrity-validation.md | 4 ++-- ...se-default-folder-for-recovery-password.md | 4 ++-- ...igure-pre-boot-recovery-message-and-url.md | 10 +++++----- ...for-native-uefi-firmware-configurations.md | 20 +++++++------------ ...-use-of-passwords-for-fixed-data-drives.md | 8 ++++---- ...f-passwords-for-operating-system-drives.md | 8 ++++---- ...-of-passwords-for-removable-data-drives.md | 6 +++--- ...users-from-changing-the-pin-or-password.md | 2 +- ...uiring-preboot-keyboard-input-on-slates.md | 6 +++--- ...ve-encryption-type-on-fixed-data-drives.md | 6 +++--- ...ryption-type-on-operating-system-drives.md | 6 +++--- ...ncryption-type-on-removable-data-drives.md | 6 +++--- ...nique-identifiers-for-your-organization.md | 2 +- ...re-additional-authentication-at-startup.md | 12 +++++------ ...alidation-data-after-bitlocker-recovery.md | 6 +++--- .../bitlocker/policy-settings.md | 18 ++++++++--------- 23 files changed, 84 insertions(+), 78 deletions(-) diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index 8cbc4ef4cd..6caeb837aa 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -7414,6 +7414,16 @@ "source_path": "windows/security/operating-system-security/data-protection/personal-data-encryption/faq-pde.yml", "redirect_url": "/windows/security/operating-system-security/data-protection/personal-data-encryption/faq", "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption", + "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/policy-settings", + "redirect_document_id": false } ] } diff --git a/windows/security/hardware-security/tpm/tpm-recommendations.md b/windows/security/hardware-security/tpm/tpm-recommendations.md index a4d4b53a79..19ad3cda34 100644 --- a/windows/security/hardware-security/tpm/tpm-recommendations.md +++ b/windows/security/hardware-security/tpm/tpm-recommendations.md @@ -98,7 +98,7 @@ The following table defines which Windows features require TPM support. Windows Features | TPM Required | Supports TPM 1.2 | Supports TPM 2.0 | Details | -|-|-|-|- Measured Boot | Yes | Yes | Yes | Measured Boot requires TPM 1.2 or 2.0 and UEFI Secure Boot. TPM 2.0 is recommended since it supports newer cryptographic algorithms. TPM 1.2 only supports the SHA-1 algorithm which is being deprecated. - BitLocker | No | Yes | Yes | TPM 1.2 or 2.0 are supported but TPM 2.0 is recommended. [Automatic Device Encryption requires Modern Standby](../../operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md#bitlocker-device-encryption) including TPM 2.0 support + BitLocker | No | Yes | Yes | TPM 1.2 or 2.0 are supported but TPM 2.0 is recommended. [Automatic Device Encryption requires Modern Standby](../../operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md#bitlocker-device-encryption) including TPM 2.0 support Device Encryption | Yes | N/A | Yes | Device Encryption requires Modern Standby/Connected Standby certification, which requires TPM 2.0. Windows Defender Application Control (Device Guard) | No | Yes | Yes Windows Defender System Guard (DRTM) | Yes | No | Yes | TPM 2.0 and UEFI firmware is required. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md index fda334e60a..cf8015982b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md @@ -24,11 +24,11 @@ Enterprises can use [Microsoft BitLocker Administration and Monitoring (MBAM)](/ ## Managing devices joined to Azure Active Directory -Devices joined to Azure AD are managed using Mobile Device Management (MDM) policy from an MDM solution such as Microsoft Intune. Prior to Windows 10, version 1809, only local administrators can enable BitLocker via Intune policy. Starting with Windows 10, version 1809, Intune can enable BitLocker for standard users. [BitLocker Device Encryption](bitlocker-device-encryption-overview-windows-10.md#bitlocker-device-encryption) status can be queried from managed machines via the [Policy Configuration Settings Provider (CSP)](/windows/client-management/mdm/policy-configuration-service-provider/), which reports on whether BitLocker Device Encryption is enabled on the device. Compliance with BitLocker Device Encryption policy can be a requirement for [Conditional Access](https://www.microsoft.com/cloud-platform/conditional-access/) to services like Exchange Online and SharePoint Online. +Devices joined to Azure AD are managed using Mobile Device Management (MDM) policy from an MDM solution such as Microsoft Intune. Prior to Windows 10, version 1809, only local administrators can enable BitLocker via Intune policy. Starting with Windows 10, version 1809, Intune can enable BitLocker for standard users. [BitLocker Device Encryption](bitlocker-device-encryption.md) status can be queried from managed machines via the [Policy Configuration Settings Provider (CSP)](/windows/client-management/mdm/policy-configuration-service-provider/), which reports on whether BitLocker Device Encryption is enabled on the device. Compliance with BitLocker Device Encryption policy can be a requirement for [Conditional Access](https://www.microsoft.com/cloud-platform/conditional-access/) to services like Exchange Online and SharePoint Online. Starting with Windows 10 version 1703, the enablement of BitLocker can be triggered over MDM either by the [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider/) or the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/). The BitLocker CSP adds policy options that go beyond ensuring that encryption has occurred, and is available on computers that run Windows 11, Windows 10, and on Windows phones. -For hardware that is compliant with Modern Standby and HSTI, when using either of these features, [BitLocker Device Encryption](bitlocker-device-encryption-overview-windows-10.md#bitlocker-device-encryption) is automatically turned on whenever the user joins a device to Azure AD. Azure AD provides a portal where recovery keys are also backed up, so users can retrieve their own recovery key for self-service, if necessary. For older devices that aren't yet encrypted, beginning with Windows 10 version 1703, admins can use the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/) to trigger encryption and store the recovery key in Azure AD. This process and feature is applicable to Azure Hybrid AD as well. +For hardware that is compliant with Modern Standby and HSTI, when using either of these features, [BitLocker Device Encryption](bitlocker-device-encryption.md) is automatically turned on whenever the user joins a device to Azure AD. Azure AD provides a portal where recovery keys are also backed up, so users can retrieve their own recovery key for self-service, if necessary. For older devices that aren't yet encrypted, beginning with Windows 10 version 1703, admins can use the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/) to trigger encryption and store the recovery key in Azure AD. This process and feature is applicable to Azure Hybrid AD as well. ## Managing workplace-joined PCs and phones @@ -91,7 +91,7 @@ Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pi - [BitLocker: FAQs](faq.yml) - [Microsoft BitLocker Administration and Management (MBAM)](/microsoft-desktop-optimization-pack/mbam-v25/) -- [Overview of BitLocker Device Encryption in Windows](bitlocker-device-encryption-overview-windows-10.md#bitlocker-device-encryption) +- [Overview of BitLocker Device Encryption](bitlocker-device-encryption.md) - [BitLocker policy settings](policy-settings.md) - [Microsoft Intune](https://www.microsoft.com/cloud-platform/microsoft-intune/) *(Overview)* diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md index f664daaca9..275521ba0b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md @@ -32,7 +32,7 @@ BitLocker recovery is the process by which access can be restored to a BitLocker The following list provides examples of specific events that will cause BitLocker to enter recovery mode when attempting to start the operating system drive: -- On PCs that use BitLocker Drive Encryption, or on devices such as tablets or phones that use [BitLocker Device Encryption](bitlocker-device-encryption-overview-windows-10.md) only, when an attack is detected, the device will immediately reboot and enter into BitLocker recovery mode. To take advantage of this functionality, administrators can set the **Interactive logon: Machine account lockout threshold** Group Policy setting located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** in the Local Group Policy Editor. Or they can use the **MaxFailedPasswordAttempts** policy of [Exchange ActiveSync](/Exchange/clients/exchange-activesync/exchange-activesync) (also configurable through [Microsoft Intune](/mem/intune)), to limit the number of failed password attempts before the device goes into Device Lockout. +- On devices that use BitLocker drive encryption or [BitLocker Device Encryption](bitlocker-device-encryption.md), when an attack is detected the device will reboot and enter into BitLocker recovery mode. To take advantage of this functionality, administrators can set the **Interactive logon: Machine account lockout threshold** Group Policy setting located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** in the Local Group Policy Editor. Or they can use the **MaxFailedPasswordAttempts** policy of [Exchange ActiveSync](/Exchange/clients/exchange-activesync/exchange-activesync) (also configurable through [Microsoft Intune](/mem/intune)), to limit the number of failed password attempts before the device goes into Device Lockout. - On devices with TPM 1.2, changing the BIOS or firmware boot device order causes BitLocker recovery. However, devices with TPM 2.0 don't start BitLocker recovery in this case. TPM 2.0 doesn't consider a firmware change of boot device order as a security threat because the OS Boot Loader isn't compromised. @@ -307,7 +307,7 @@ This error occurs if the firmware is updated. As a best practice, BitLocker shou ## Windows RE and BitLocker Device Encryption -Windows Recovery Environment (RE) can be used to recover access to a drive protected by [BitLocker Device Encryption](bitlocker-device-encryption-overview-windows-10.md). If a PC is unable to boot after two failures, Startup Repair automatically starts. When Startup Repair is launched automatically due to boot failures, it executes only operating system and driver file repairs if the boot logs or any available crash dump points to a specific corrupted file. In Windows 8.1 and later versions, devices that include firmware to support specific TPM measurements for PCR\[7\] **the TPM** can validate that Windows RE is a trusted operating environment and unlock any BitLocker-protected drives if Windows RE hasn't been modified. If the Windows RE environment has been modified, for example, the TPM has been disabled, the drives stay locked until the BitLocker recovery key is provided. If Startup Repair isn't able to run automatically from the PC and instead, Windows RE is manually started from a repair disk, the BitLocker recovery key must be provided to unlock the BitLocker-protected drives. +Windows Recovery Environment (RE) can be used to recover access to a drive protected by [BitLocker Device Encryption](bitlocker-device-encryption.md). If a device is unable to boot after two failures, Startup Repair automatically starts. When Startup Repair is launched automatically due to boot failures, it executes only operating system and driver file repairs if the boot logs or any available crash dump points to a specific corrupted file. Devices that include firmware to support specific TPM measurements for *PCR 7*, the TPM can validate that Windows RE is a trusted operating environment and unlock any BitLocker-protected drives if Windows RE hasn't been modified. If the Windows RE environment has been modified, for example, the TPM has been disabled, the drives stay locked until the BitLocker recovery key is provided. If Startup Repair isn't able to run automatically from the PC and instead, Windows RE is manually started from a repair disk, the BitLocker recovery key must be provided to unlock the BitLocker-protected drives. Windows RE will also ask for a BitLocker recovery key when a **Remove everything** reset from Windows RE is started on a device that uses **TPM + PIN** or **Password for OS drive** protectors. If BitLocker recovery is started on a keyboardless device with TPM-only protection, Windows RE, not the boot manager, will ask for the BitLocker recovery key. After the key is entered, Windows RE troubleshooting tools can be accessed, or Windows can be started normally. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml index 01ed7d3720..49a7fbf26a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml @@ -128,7 +128,7 @@ sections: - question: What is Used Disk Space Only encryption? answer: | - BitLocker in Windows 10 lets users choose to encrypt just their data. Although it's not the most secure way to encrypt a drive, this option can reduce encryption time by more than 99 percent, depending on how much data that needs to be encrypted. For more information, see [Used Disk Space Only encryption](bitlocker-device-encryption-overview-windows-10.md#used-disk-space-only-encryption). + BitLocker in Windows 10 lets users choose to encrypt just their data. Although it's not the most secure way to encrypt a drive, this option can reduce encryption time by more than 99 percent, depending on how much data that needs to be encrypted. For more information, see [Used Disk Space Only encryption](bitlocker-device-encryption.md#used-disk-space-only-encryption). - question: What system changes would cause the integrity check on my operating system drive to fail? answer: | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md index 44cd6e06d2..790e888481 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md @@ -6,9 +6,11 @@ ms.topic: include --- -### Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN +### Allow devices compliant with InstantGo or HSTI to opt out of preboot PIN -This policy setting allows users on devices that are compliant with InstantGo or Microsoft Hardware Security Test Interface (HSTI) to not have a PIN for pre-boot authentication. This overrides the *Require startup PIN with TPM* and *Require startup key and PIN with TPM* options of the [*Require additional authentication at startup*](#require-additional-authentication-at-startup) policy on compliant hardware. If you enable this policy setting, users on InstantGo and HSTI compliant devices have the choice to turn on BitLocker without pre-boot authentication. If this policy is not enabled, the options of *Require additional authentication at startup* policy apply. +This policy setting allows users on devices that are compliant with InstantGo or Microsoft Hardware Security Test Interface (HSTI) to not have a PIN for preboot authentication. This overrides the *Require startup PIN with TPM* and *Require startup key and PIN with TPM* options of the [*Require additional authentication at startup*](#require-additional-authentication-at-startup) policy on compliant hardware. + +If you enable this policy setting, users on InstantGo and HSTI compliant devices can turn on BitLocker without preboot authentication. If this policy isn't enabled, the options of [*Require additional authentication at startup*](#require-additional-authentication-at-startup) policy apply. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md index ac0dfcfec2..fffb6d2a20 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md @@ -9,16 +9,16 @@ ms.topic: include This policy setting controls whether a BitLocker-protected device that is connected to a trusted wired Local Area Network (LAN) can create and use Network Key Protectors on TPM-enabled computers to automatically unlock the operating system drive when the computer is started. -If you enable this policy, devices configured with a *BitLocker Network Unlock certificate* will be able to create and use Network Key Protectors. To use a Network Key Protector to unlock the computer, both the computer and the BitLocker Drive Encryption Network Unlock server must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create Network Key Protectors, and protects the information exchanged with the server to unlock the computer. +If you enable this policy, devices configured with a *BitLocker Network Unlock certificate* can create and use Network Key Protectors. To use a Network Key Protector to unlock the computer, both the computer and the BitLocker Drive Encryption Network Unlock server must be provisioned with a Network Unlock certificate. The Network Unlock certificate is used to create Network Key Protectors, and protects the information exchanged with the server to unlock the computer. -The Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Public Key Policies** > **BitLocker Drive Encryption Network Unlock Certificate** can be used on the domain controller to distribute this certificate to computers in the organization. This unlock method uses the TPM on the computer, so computers that don't have a TPM cannot create Network Key Protectors to automatically unlock with Network Unlock. +The Group Policy setting **Computer Configuration** > **Windows Settings** > **Security Settings** > **Public Key Policies** > **BitLocker Drive Encryption Network Unlock Certificate** can be used on the domain controller to distribute this certificate to computers in the organization. This unlock method uses the TPM on the computer, so computers that don't have a TPM can't create Network Key Protectors to automatically unlock with Network Unlock. -If you disable or do not configure this policy setting, BitLocker clients will not be able to create and use Network Key Protectors. +If you disable or don't configure this policy setting, BitLocker clients won't be able to create and use Network Key Protectors. > [!NOTE] > For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or the server at startup. -For more information about Network Unlock feature, see [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md) +For more information about Network Unlock feature, see [BitLocker: How to enable Network Unlock](../bitlocker-how-to-enable-network-unlock.md) | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md index 64ba96a3be..6a1e59c134 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-secure-boot-for-integrity-validation.md @@ -9,10 +9,10 @@ ms.topic: include This policy setting allows you to configure whether Secure Boot is allowed as the platform integrity provider for BitLocker operating system drives. -Secure Boot ensures that the device's pre-boot environment only loads firmware that is digitally signed by authorized software publishers. +Secure Boot ensures that the device's preboot environment only loads firmware that is digitally signed by authorized software publishers. - If you enable or don't configure this policy setting, BitLocker uses Secure Boot for platform integrity if the platform is capable of Secure Boot-based integrity validation -- If you disable this policy setting, BitLocker will use legacy platform integrity validation, even on systems capable of Secure Boot-based integrity validation +- If you disable this policy setting, BitLocker uses legacy platform integrity validation, even on systems capable of Secure Boot-based integrity validation When this policy is enabled and the hardware is capable of using Secure Boot for BitLocker scenarios, the *[Use enhanced Boot Configuration Data validation profile](../policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)* policy setting is ignored and Secure Boot verifies BCD settings according to the Secure Boot policy setting, which is configured separately from BitLocker. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-default-folder-for-recovery-password.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-default-folder-for-recovery-password.md index 0c7954f4c4..f06941e7ef 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-default-folder-for-recovery-password.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-default-folder-for-recovery-password.md @@ -9,8 +9,8 @@ ms.topic: include Specify the default path that is displayed when the *BitLocker Drive Encryption setup wizard* prompts the user to enter the location of a folder in which to save the recovery password. You can specify either a fully qualified path or include the target computer's environment variables in the path: -- If the path is not valid, the BitLocker setup wizard will display the computer's top-level folder view -- If you disable or do not configure this policy setting, the BitLocker setup wizard will display the computer's top-level folder view when the user chooses the option to save the recovery password in a folder +- If the path isn't valid, the BitLocker setup wizard displays the computer's top-level folder view +- If you disable or don't configure this policy setting, the BitLocker setup wizard displays the computer's top-level folder view when the user chooses the option to save the recovery password in a folder > [!NOTE] > This policy setting does not prevent the user from saving the recovery password in another folder. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md index 3bb59ae196..6b80070cd8 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-pre-boot-recovery-message-and-url.md @@ -5,13 +5,13 @@ ms.date: 09/24/2023 ms.topic: include --- -### Configure pre-boot recovery message and URL +### Configure preboot recovery message and URL -This policy setting is used to configure the recovery message and to replace the existing URL that is displayed on the pre-boot recovery screen when the OS drive is locked. +This policy setting is used to configure the recovery message and to replace the existing URL that is displayed on the preboot recovery screen when the OS drive is locked. -- If you select the **Use default recovery message and URL** option, the default BitLocker recovery message and URL are displayed in the pre-boot key recovery screen. If you have previously configured a custom recovery message or URL and want to revert to the default message, you must keep the policy enabled and select the **Use default recovery message and URL** option -- If you select the **Use custom recovery message** option, the message you add to the **Custom recovery message option** text box is displayed in the pre-boot key recovery screen. If a recovery URL is available, include it in the message -- If you select the **Use custom recovery URL** option, the URL you add to the **Custom recovery URL option** text box replaces the default URL in the default recovery message, which is displayed in the pre-boot key recovery screen +- If you select the **Use default recovery message and URL** option, the default BitLocker recovery message and URL are displayed in the preboot key recovery screen. If you have previously configured a custom recovery message or URL and want to revert to the default message, you must keep the policy enabled and select the **Use default recovery message and URL** option +- If you select the **Use custom recovery message** option, the message you add to the **Custom recovery message option** text box is displayed in the preboot key recovery screen. If a recovery URL is available, include it in the message +- If you select the **Use custom recovery URL** option, the URL you add to the **Custom recovery URL option** text box replaces the default URL in the default recovery message, which is displayed in the preboot key recovery screen > [!NOTE] > Not all characters and languages are supported in pre-boot. It is strongly recommended that you test that the characters you use for the custom message or URL appear correctly on the pre-boot recovery screen. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md index fc79265f19..ee16ecbc0e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations.md @@ -7,19 +7,13 @@ ms.topic: include ### Configure TPM platform validation profile for native UEFI firmware configurations -This policy setting determines what values the TPM measures when it validates early boot components before unlocking an operating system drive on a computer with native UEFI firmware configurations. +This policy setting determines what values the TPM measures when it validates early boot components, before unlocking the OS drive on native-UEFI firmware device. -- If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM will validate before unlocking access to the BitLocker-encrypted operating system drive. If any of these components change while BitLocker protection is in effect, the TPM will not release the encryption key to unlock the drive and the computer will instead display the BitLocker Recovery console and require that either the recovery password or recovery key be provided to unlock the drive -- If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile for the available hardware or the platform validation profile specified by the setup script - -|**Conflicts**|Setting this policy with PCR 7 omitted overrides the **Allow Secure Boot for integrity validation** Group Policy setting, and it prevents BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation.

If an environment uses TPM and Secure Boot for platform integrity checks, this policy is configured.

For more information about PCR 7, see [About the Platform Configuration Register (PCR)](#about-the-platform-configuration-register-pcr) in this article.| - -#### Reference: Configure TPM platform validation profile for native UEFI firmware configurations - -This policy setting doesn't apply if the computer doesn't have a compatible TPM or if BitLocker is already turned on with TPM protection. +- If you enable this policy setting before turning on BitLocker, you can configure the boot components that the TPM validates before unlocking access to the BitLocker-encrypted OS drive. If any of these components change while BitLocker protection is in effect, the TPM doesn't release the encryption key to unlock the drive. The device displays the BitLocker Recovery console and requires that either the recovery password or recovery key be provided to unlock the drive +- If you disable or do not configure this policy setting, BitLocker uses the default platform validation profile for the available hardware, or the platform validation profile specified by the setup script > [!IMPORTANT] -> This group policy setting only applies to computers with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Support Module (CSM) enabled store different values in the Platform Configuration Registers (PCRs). Use the **Configure TPM platform validation profile for BIOS-based firmware configurations** Group Policy setting to configure the TPM PCR profile for computers with BIOS configurations or for computers with UEFI firmware with a CSM enabled. +> This policy setting only applies to devices with a native UEFI firmware configuration. Computers with BIOS or UEFI firmware with a Compatibility Support Module (CSM) enabled store different values in the Platform Configuration Registers (PCRs). Use the **[Configure TPM platform validation profile for BIOS-based firmware configurations](../policy-settings.md?tabs=os#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations)** policy setting to configure the TPM PCR profile for devices with BIOS configurations, or for devices with UEFI firmware with a CSM enabled. A platform validation profile consists of a set of PCR indices ranging from 0 to 23. The default platform validation profile secures the encryption key against changes to the following PCRs: @@ -55,13 +49,13 @@ The following list identifies all of the available PCRs: | PCR 15 - 23 | Reserved for future use > [!WARNING] -> Changing from the default platform validation profile affects the security and manageability of a computer. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. +> Changing from the default platform validation profile affects the security and manageability of a device. BitLocker's sensitivity to platform modifications (malicious or authorized) is increased or decreased depending on inclusion or exclusion (respectively) of the PCRs. > -> Setting this policy with PCR 7 omitted, will override the *Allow Secure Boot for integrity validation* policy, preventing BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. +> Setting this policy with PCR 7 omitted, overrides the *[Allow Secure Boot for integrity validation](../policy-settings.md?tabs=os#allow-secure-boot-for-integrity-validation)* policy, preventing BitLocker from using Secure Boot for platform or Boot Configuration Data (BCD) integrity validation. > > Setting this policy may result in BitLocker recovery when firmware is updated. If you set this policy to include PCR 0, suspend BitLocker prior to applying firmware updates. It is recommended to not configure this policy, to allow Windows to select the PCR profile for the best combination of security and usability based on the available hardware on each device. -PCR 7 measures the state of Secure Boot. With PCR 7, BitLocker can use Secure Boot for integrity validation. Secure Boot ensures that the computer's preboot environment loads only firmware that is digitally signed by authorized software publishers. PCR 7 measurements indicate whether Secure Boot is on and which keys are trusted on the platform. If Secure Boot is on and the firmware measures PCR 7 correctly per the UEFI specification, BitLocker can bind to this information rather than to PCRs 0, 2, and 4, which have the measurements of the exact firmware and Bootmgr images loaded. This process reduces the likelihood of BitLocker starting in recovery mode as a result of firmware and image updates, and it provides with greater flexibility to manage the preboot configuration. +PCR 7 measures the state of Secure Boot. With PCR 7, BitLocker can use Secure Boot for integrity validation. Secure Boot ensures that the computer's preboot environment loads only firmware that is digitally signed by authorized software publishers. PCR 7 measurements indicate whether Secure Boot is on, and which keys are trusted on the platform. If Secure Boot is on and the firmware measures PCR 7 correctly per the UEFI specification, BitLocker can bind to this information rather than to PCRs 0, 2, and 4, which have the measurements of the exact firmware and Bootmgr images loaded. This process reduces the likelihood of BitLocker starting in recovery mode as a result of firmware and image updates, and it provides with greater flexibility to manage the preboot configuration. PCR 7 measurements must follow the guidance that is described in [Appendix A Trusted Execution Environment EFI Protocol](/windows-hardware/test/hlk/testref/trusted-execution-environment-efi-protocol). diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md index d30a6a419a..eda3872d87 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md @@ -14,13 +14,13 @@ This policy setting specifies whether a password is required to unlock BitLocker If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select **Require complexity**: -- When set to **Require complexity** a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password -- When set to **Allow complexity** connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector +- When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password +- When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. If no domain controllers are found, the password is accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector - When set to **Do not allow complexity**, password complexity isn't validated -Passwords must be at least 8 characters. To configure a greater minimum length for the password, specify the desired number of characters under **Minimum password length** +Passwords must be at least eight characters. To configure a greater minimum length for the password, specify the desired number of characters under **Minimum password length** -If you disable or do not configure this policy setting, the default length constraint of 8 characters applies to operating system drive passwords and no complexity checks occur. +If you disable or don't configure this policy setting, the default length constraint of eight characters applies to operating system drive passwords, and no complexity checks occur. > [!IMPORTANT] > Passwords can't be used if FIPS-compliance is enabled. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md index 8f47128758..8e463cb35f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md @@ -14,13 +14,13 @@ This policy setting specifies the constraints for passwords used to unlock BitLo If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select **Require complexity**: -- When set to **Require complexity** a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password -- When set to **Allow complexity** connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector +- When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password +- When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. If no domain controllers are found, the password is accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector - When set to **Do not allow complexity**, password complexity isn't validated -Passwords must be at least 8 characters. To configure a greater minimum length for the password, specify the desired number of characters under **Minimum password length** +Passwords must be at least eight characters. To configure a greater minimum length for the password, specify the desired number of characters under **Minimum password length** -If you disable or do not configure this policy setting, the default length constraint of 8 characters applies to operating system drive passwords and no complexity checks occur. +If you disable or don't configure this policy setting, the default length constraint of eight characters applies to operating system drive passwords, and no complexity checks occur. > [!IMPORTANT] > Passwords can't be used if FIPS-compliance is enabled. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md index 630784ad92..68b20427e8 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md @@ -14,13 +14,13 @@ This policy setting specifies whether a password is required to unlock BitLocker If you enable this policy setting, users can configure a password that meets the requirements you define. To enforce complexity requirements on the password, select **Require complexity**: -- When set to **Require complexity** a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password -- When set to **Allow complexity** connection to a domain controller will be attempted to validate the complexity adheres to the rules set by the policy, but if no domain controllers are found the password will still be accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector +- When set to **Require complexity**, a connection to a domain controller is necessary when BitLocker is enabled to validate the complexity the password +- When set to **Allow complexity**, a connection to a domain controller is attempted to validate that the complexity adheres to the rules set by the policy. If no domain controllers are found, the password is accepted regardless of actual password complexity and the drive will be encrypted using that password as a protector - When set to **Do not allow complexity**, password complexity isn't validated Passwords must be at least 8 characters. To configure a greater minimum length for the password, specify the desired number of characters under **Minimum password length** -If you disable or do not configure this policy setting, the default length constraint of 8 characters applies to operating system drive passwords and no complexity checks occur. +If you disable or don't configure this policy setting, the default length constraint of eight characters applies to operating system drive passwords, and no complexity checks occur. > [!IMPORTANT] > Passwords can't be used if FIPS-compliance is enabled. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md index 844a3eea29..0dbe94bba1 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/disallow-standard-users-from-changing-the-pin-or-password.md @@ -10,7 +10,7 @@ ms.topic: include This policy allows configuration of whether standard users are allowed to change the PIN or password that is used to protect the operating system drive, if they can provide the existing PIN first. If you enable this policy, standard users can't change BitLocker PINs or passwords. -If you disable or do not configure this policy, standard users can change BitLocker PINs and passwords. +If you disable or don't configure this policy, standard users can change BitLocker PINs and passwords. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md index 569c948a7d..f71d5f5ab3 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md @@ -7,14 +7,14 @@ ms.topic: include ### Enable use of BitLocker authentication requiring preboot keyboard input on slates -This policy setting allows users to turn on authentication options that require user input from the pre-boot environment, even if the platform lacks pre-boot input capability. The Windows touch keyboard (such as that used by tablets) isn't available in the pre-boot environment where BitLocker requires additional information such as a PIN or Password. +This policy setting allows users to turn on authentication options that require user input from the preboot environment, even if the platform lacks preboot input capability. The Windows touch keyboard (such as that used by tablets) isn't available in the preboot environment where BitLocker requires additional information such as a PIN or Password. -- If you enable this policy setting, devices must have an alternative means of pre-boot input (such as an attached USB keyboard). +- If you enable this policy setting, devices must have an alternative means of preboot input (such as an attached USB keyboard). - If this policy isn't enabled, the Windows Recovery Environment must be enabled on tablets to support the entry of the BitLocker recovery password. It's recommended that administrators enable this policy only for devices that are verified to have an alternative means of preboot input, such as attaching a USB keyboard. -When the Windows Recovery Environment (WinRE) isn't enabled and this policy isn't enabled, BitLocker can't be turned on a device that uses the Windows touch keyboard. +When the Windows Recovery Environment (WinRE) isn't enabled and this policy isn't enabled, BitLocker can't be turned on a device that uses a touch keyboard. If this policy setting isn't enabled, the following options in the **Require additional authentication at startup** policy might not be available: diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md index 1d5a78d3c1..a0fd33cfe4 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-fixed-data-drives.md @@ -9,17 +9,17 @@ ms.topic: include This policy setting controls the use of BitLocker on fixed data drives. -If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard: +If you enable this policy setting the encryption type that BitLocker uses to encrypt drives is defined by this policy, and the encryption type option won't be presented in the BitLocker setup wizard: - Choose **full encryption** to require that the entire drive be encrypted when BitLocker is turned on - Choose **used space only encryption** to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on -If you disable or don't configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. +If you disable or don't configure this policy setting, the BitLocker setup wizard asks the user to select the encryption type before turning on BitLocker. > [!NOTE] > Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. > -> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using *Used Space Only encryption* is expanded, the new free space isn't wiped as it would be for a drive that uses *Full encryption*. The user could wipe the free space on a *Used Space Only* drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. +> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using *Used Space Only encryption* is expanded, the new free space isn't wiped like a drive that uses *Full encryption*. The user could wipe the free space on a *Used Space Only* drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md index 251f8a9fdd..fbc1d4ae09 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-operating-system-drives.md @@ -9,17 +9,17 @@ ms.topic: include This policy setting allows you to configure the encryption type used by BitLocker Drive Encryption. -If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard: +When you enable this policy setting, the *encryption type* option isn't offered in the BitLocker setup wizard: - Choose **full encryption** to require that the entire drive be encrypted when BitLocker is turned on - Choose **used space only encryption** to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on -If you disable or don't configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. +If you disable or don't configure this policy setting, the BitLocker setup wizard asks the user to select the encryption type before turning on BitLocker. > [!NOTE] > Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. > -> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using *Used Space Only encryption* is expanded, the new free space isn't wiped as it would be for a drive that uses *Full encryption*. The user could wipe the free space on a *Used Space Only* drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. +> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using *Used Space Only encryption* is expanded, the new free space isn't wiped like a drive that uses *Full encryption*. The user could wipe the free space on a *Used Space Only* drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md index 092edd5b35..ce1e9ca083 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/enforce-drive-encryption-type-on-removable-data-drives.md @@ -9,17 +9,17 @@ ms.topic: include This policy setting controls the use of BitLocker on removable data drives. -If you enable this policy setting the encryption type that BitLocker will use to encrypt drives is defined by this policy and the encryption type option will not be presented in the BitLocker setup wizard: +When you enable this policy setting, the *encryption type* option isn't offered in the BitLocker setup wizard: - Choose **full encryption** to require that the entire drive be encrypted when BitLocker is turned on - Choose **used space only encryption** to require that only the portion of the drive used to store data is encrypted when BitLocker is turned on -If you disable or don't configure this policy setting, the BitLocker setup wizard will ask the user to select the encryption type before turning on BitLocker. +If you disable or don't configure this policy setting, the BitLocker setup wizard asks the user to select the encryption type before turning on BitLocker. > [!NOTE] > Changing the encryption type has no effect if the drive is already encrypted or if encryption is in progress. > -> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using *Used Space Only encryption* is expanded, the new free space isn't wiped as it would be for a drive that uses *Full encryption*. The user could wipe the free space on a *Used Space Only* drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. +> This policy is ignored when shrinking or expanding a volume, and the BitLocker driver uses the current encryption method. For example, when a drive that is using *Used Space Only encryption* is expanded, the new free space isn't wiped like a drive that uses *Full encryption*. The user could wipe the free space on a *Used Space Only* drive by using the following command: `manage-bde.exe -w`. If the volume is shrunk, no action is taken for the new free space. | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md index 848e6cd752..2d00aa2a90 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/provide-the-unique-identifiers-for-your-organization.md @@ -10,7 +10,7 @@ ms.topic: include This policy setting allows you to associate unique organizational identifiers to a drive that is encrypted with BitLocker. The identifiers are stored as the *identification field* and *allowed identification field*: - The identification field allows you to associate a unique organizational identifier to BitLocker-protected drives. This identifier is automatically added to new BitLocker-protected drives and can be updated on existing BitLocker-protected drives using the *BitLocker Drive Encryption: Configuration Tool* (`manage-bde.exe`) -- The allowed identification field is used in combination with the *[Deny write access to removable drives not protected by BitLocker](../policy-settings.md?tabs=removable##deny-write-access-to-removable-drives-not-protected-by-bitlocker)* policy setting to help control the use of removable drives in your organization. It's a comma separated list of identification fields from your organization or other external organizations. You can configure the identification fields on existing drives by using `manage-bde.exe`. +- The allowed identification field is used in combination with the *[Deny write access to removable drives not protected by BitLocker](../policy-settings.md?tabs=removable#deny-write-access-to-removable-drives-not-protected-by-bitlocker)* policy setting to help control the use of removable drives in your organization. It's a comma separated list of identification fields from your organization or other external organizations. You can configure the identification fields on existing drives by using `manage-bde.exe`. If you enable this policy setting, you can configure the identification field on the BitLocker-protected drive and any allowed identification field used by your organization. When a BitLocker-protected drive is mounted on another BitLocker-enabled device, the identification field and allowed identification field are used to determine whether the drive is from a different organization. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md index c20e3989ef..d49bda6ab3 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/require-additional-authentication-at-startup.md @@ -7,7 +7,7 @@ ms.topic: include ### Require additional authentication at startup -This policy configures whether BitLocker requires additional authentication each time the device starts. +This policy setting configures whether BitLocker requires extra authentication each time the device starts. If you enable this policy, users can configure advanced startup options in the BitLocker setup wizard.\ If you disable or don't configure this policy setting, users can configure only basic options on computers with a TPM. @@ -16,7 +16,7 @@ If you disable or don't configure this policy setting, users can configure only > Only one of the additional authentication options can be required at startup, otherwise a policy error occurs. If you want to use BitLocker on a device without a TPM, select the option **Allow BitLocker without a compatible TPM**. In this mode, either a password or a USB drive is required for startup.\ -When using a startup key, the key information used to encrypt the drive is stored on the USB drive, creating a USB key. When the USB key is inserted, the access to the drive is authenticated and the drive is accessible. If the USB key is lost or unavailable, or if you have forgotten the password, then you'll need to use one of the BitLocker recovery options to access the drive. +When using a startup key, the key information used to encrypt the drive is stored on the USB drive, creating a USB key. When the USB key is inserted, the access to the drive is authenticated and the drive is accessible. If the USB key is lost or unavailable, or if you have forgotten the password, then you must use one of the BitLocker recovery options to access the drive. On a computer with a compatible TPM, four types of authentication methods can be used at startup to provide added protection for encrypted data. When the computer starts, it can use: @@ -33,22 +33,22 @@ There are four options for TPM-enabled devices: - Configure TPM startup - Allow TPM - Require TPM - - Do not allow TPM + - Don't allow TPM - Configure TPM startup PIN - Allow startup PIN with TPM - Require startup PIN with TPM - - Do not allow startup PIN with TPM + - Don't allow startup PIN with TPM - Configure TPM startup key - Allow startup key with TPM - Require startup key with TPM - - Do not allow startup key with TPM + - Don't allow startup key with TPM - Configure TPM startup key and PIN - Allow TPM startup key with PIN - Require startup key and PIN with TPM - - Do not allow TPM startup key with PIN + - Don't allow TPM startup key with PIN | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md index 7200f2779c..265f5f010e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/reset-platform-validation-data-after-bitlocker-recovery.md @@ -9,10 +9,10 @@ ms.topic: include This policy setting determines if platform validation data should refresh when Windows is started following a BitLocker recovery. A platform validation data profile consists of the values in a set of Platform Configuration Register (PCR) indices that range from 0 to 23. -If you enable this policy setting, platform validation data will be refreshed when Windows is started following BitLocker recovery. This is the default behavior.\ -If you disable this policy setting, platform validation data will not be refreshed when Windows is started following BitLocker recovery. +If you enable this policy setting, platform validation data is refreshed when Windows is started following BitLocker recovery. This is the default behavior.\ +If you disable this policy setting, platform validation data won't be refreshed when Windows is started following BitLocker recovery. -For more information about the recovery process, see the [BitLocker recovery guide](bitlocker-recovery-guide-plan.md). +For more information about the recovery process, see the [BitLocker recovery guide](../bitlocker-recovery-guide-plan.md). | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 06f9257b6d..7ca9366a12 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -11,18 +11,10 @@ ms.date: 09/29/2023 This reference article describes the policy settings to configure BitLocker via configuration service provider (CSP) and group policy (GPO). -## BitLocker and policies compliance - -If a device isn't compliant with the existing policies, BitLocker may not be turned on, or BitLocker configuration may be modified until the computer is in a compliant state. When a drive becomes out of compliance with policy settings, only changes to the BitLocker configuration that will bring it into compliance are allowed. Such scenario could occur, for example, if a previously encrypted drive was brought out of compliance by change in policy settings. - -If multiple changes are necessary to bring the drive into compliance, BitLocker protection may need to be suspended, the necessary changes made, and then protection resumed. Such situation could occur, for example, if a removable drive is initially configured for unlock with a password but then policy settings are changed to disallow passwords and require smart cards. In this situation, BitLocker protection needs to be suspended by using the [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line tool, delete the password unlock method, and add the smart card method. After this process is complete, BitLocker is compliant with the policy setting, and BitLocker protection on the drive can be resumed. - -In other scenarios, to bring the drive into compliance with a change in policy settings, BitLocker may need to be disabled and the drive decrypted followed by re-enabling BitLocker and then re-encrypting the drive. An example of this scenario is when the BitLocker encryption method or cipher strength is changed. The [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line can also be used in this scenario to help bring the device into compliance. - > [!IMPORTANT] > Most of the BitLocker policy settings are enforced when BitLocker is initially turned on for a drive. Encryption isn't restarted if settings change. -## Settings list +## Policy settings list The list of settings is sorted alphabetically and organized in four categories: @@ -144,3 +136,11 @@ The following table lists the BitLocker policies applicable to all drive types, [!INCLUDE [removable-drives-excluded-from-encryption](includes/removable-drives-excluded-from-encryption.md)] --- + +## BitLocker and policies compliance + +If a device isn't compliant with the configured policies, BitLocker may not be turned on, or BitLocker configuration may be modified until the computer is in a compliant state. When a drive becomes out of compliance with policy settings, only changes to the BitLocker configuration that will bring it into compliance are allowed. Such scenario could occur, for example, if a previously encrypted drive was brought out of compliance by change in policy settings. + +If multiple changes are necessary to bring the drive into compliance, BitLocker protection may need to be suspended, the necessary changes made, and then protection resumed. Such situation could occur, for example, if a removable drive is initially configured for unlock with a password but then policy settings are changed to disallow passwords and require smart cards. In this situation, BitLocker protection needs to be suspended by using the [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line tool, delete the password unlock method, and add the smart card method. After this process is complete, BitLocker is compliant with the policy setting, and BitLocker protection on the drive can be resumed. + +In other scenarios, to bring the drive into compliance with a change in policy settings, BitLocker may need to be disabled and the drive decrypted followed by re-enabling BitLocker and then re-encrypting the drive. An example of this scenario is when the BitLocker encryption method or cipher strength is changed. The [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line can also be used in this scenario to help bring the device into compliance. \ No newline at end of file From bac4c9268e36be8fb12a70edfe0e1aff9ab19cbe Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 29 Sep 2023 09:43:14 -0400 Subject: [PATCH 048/505] acrolinx --- .../data-protection/bitlocker/policy-settings.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 7ca9366a12..ce9401578b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -55,14 +55,14 @@ The following table lists the BitLocker policies applicable to all drive types, |Policy name| CSP | GPO | |-|-|-| -|[Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN](#allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin)|✅|✅| +|[Allow devices compliant with InstantGo or HSTI to opt out of pre-boot PIN](#allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-preboot-pin)|✅|✅| |[Allow enhanced PINs for startup](#allow-enhanced-pins-for-startup)|✅|✅| |[Allow network unlock at startup](#allow-network-unlock-at-startup)|❌|✅| |[Allow Secure Boot for integrity validation](#allow-secure-boot-for-integrity-validation)|❌|✅| |[Allow Warning For Other Disk Encryption](#allow-warning-for-other-disk-encryption)|✅|❌| |[Choose how BitLocker-protected operating system drives can be recovered](#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered)|✅|✅| |[Configure minimum PIN length for startup](#configure-minimum-pin-length-for-startup)|✅|✅| -|[Configure pre-boot recovery message and URL](#configure-pre-boot-recovery-message-and-url)|✅|✅| +|[Configure pre-boot recovery message and URL](#configure-preboot-recovery-message-and-url)|✅|✅| |[Configure TPM platform validation profile for BIOS-based firmware configurations](#configure-tpm-platform-validation-profile-for-bios-based-firmware-configurations)|❌|✅| |[Configure TPM platform validation profile for native UEFI firmware configurations](#configure-tpm-platform-validation-profile-for-native-uefi-firmware-configurations)|❌|✅| |[Configure use of hardware-based encryption for operating system drives](#configure-use-of-hardware-based-encryption-for-operating-system-drives)|❌|✅| From a18448434f67ebb1ef8d32562a4d5fb5da835cd4 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 29 Sep 2023 10:30:12 -0400 Subject: [PATCH 049/505] acrolinx --- .../bitlocker/bcd-settings-and-bitlocker.md | 32 ++++++++----------- ...ntgo-or-hsti-to-opt-out-of-pre-boot-pin.md | 7 ++-- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md index cf39c89999..d9dacfa52d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md @@ -1,31 +1,27 @@ --- title: BCD settings and BitLocker -description: This article for IT professionals describes the BCD settings that are used by BitLocker. +description: Learn how BCD settings are used by BitLocker. ms.topic: reference -ms.date: 11/08/2022 +ms.date: 09/29/2023 --- # Boot Configuration Data settings and BitLocker -This article for IT professionals describes the Boot Configuration Data (BCD) settings that are used by BitLocker. +This article describes the Boot Configuration Data (BCD) settings that are used by BitLocker. -When protecting data at rest on an operating system volume, during the boot process BitLocker verifies that the security sensitive BCD settings haven't changed since BitLocker was last enabled, resumed, or recovered. +During the boot process, BitLocker verifies that the security sensitive BCD settings haven't changed since BitLocker was last enabled, resumed, or recovered. -## BitLocker and BCD Settings +If it's believed that there's a risk in excluding a particular BCD setting from the validation profile, you can include that BCD setting in the BCD validation coverage to suit the preferences for validation.\ +If the default BCD setting persistently triggers a recovery for benign changes, you can exclude that BCD setting from the validation coverage. -In Windows 7 and Windows Server 2008 R2, BitLocker validated BCD settings with the winload, winresume, and memtest prefixes to a large degree. However, this high degree of validation caused BitLocker to go into recovery mode for benign setting changes, for example, when applying a language pack, BitLocker would enter recovery mode. - -In Windows 8, Windows Server 2012, and later operating systems, BitLocker narrows the set of BCD settings validated to reduce the chance of benign changes causing a BCD validation problem. If it's believed that there's a risk in excluding a particular BCD setting from the validation profile, include that BCD setting in the BCD validation coverage to suit the preferences for validation. If a default BCD setting is found to persistently trigger a recovery for benign changes, exclude that BCD setting from the validation coverage. - -### When secure boot is enabled - -Computers with UEFI firmware can use secure boot to provide enhanced boot security. When BitLocker is able to use secure boot for platform and BCD integrity validation, as defined by the **Allow Secure Boot for integrity validation** group policy setting, the **Use enhanced Boot Configuration Data validation profile** group policy is ignored. +> [!IMPORTANT] +> Devices with UEFI firmware can use secure boot to provide enhanced boot security. When BitLocker is able to use secure boot for platform and BCD integrity validation, as defined by the **[Allow Secure Boot for integrity validation](policy-settings.md?tabs=os#allow-secure-boot-for-integrity-validation)** policy setting, the **[Use enhanced Boot Configuration Data validation profile](../policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)** policy is ignored. One of the benefits of using secure boot is that it can correct BCD settings during boot without triggering recovery events. Secure boot enforces the same BCD settings as BitLocker. Secure boot BCD enforcement isn't configurable from within the operating system. ## Customizing BCD validation settings -To modify the BCD settings that are validated by BitLocker, the administrator will add or exclude BCD settings from the platform validation profile by enabling and configuring the **Use enhanced Boot Configuration Data validation profile** group policy setting. +To modify the BCD settings that are validated by BitLocker, the administrator will add or exclude BCD settings from the platform validation profile by enabling and configuring the **[Use enhanced Boot Configuration Data validation profile](../policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)** policy setting. For the purposes of BitLocker validation, BCD settings are associated with a specific set of Microsoft boot applications. These BCD settings can also be applied to the other Microsoft boot applications that aren't part of the set to which the BCD settings are already applicable for. This setting can be done by attaching any of the following prefixes to the BCD settings that are being entered in the group policy settings dialog: @@ -34,15 +30,15 @@ For the purposes of BitLocker validation, BCD settings are associated with a spe - memtest - all of the above -All BCD settings are specified by combining the prefix value with either a hexadecimal (hex) value or a "friendly name." +All BCD settings are specified by combining the prefix value with either a hexadecimal (hex) value or a *friendly name*. The BCD setting hex value is reported when BitLocker enters recovery mode and is stored in the event log (event ID 523). The hex value uniquely identifies the BCD setting that caused the recovery event. You can quickly obtain the friendly name for the BCD settings on a computer by using the command `bcdedit.exe /enum all`. -Not all BCD settings have friendly names; for those settings without a friendly name, the hex value is the only way to configure an exclusion policy. +Not all BCD settings have friendly names. For those settings without a friendly name, the hex value is the only way to configure an exclusion policy. -When specifying BCD values in the **Use enhanced Boot Configuration Data validation profile** group policy setting, use the following syntax: +When specifying BCD values in the **[Use enhanced Boot Configuration Data validation profile](../policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)** policy setting, use the following syntax: - Prefix the setting with the boot application prefix - Append a colon `:` @@ -54,11 +50,11 @@ For example, either "`winload:hypervisordebugport`" or "`winload:0x250000f4`" yi A setting that applies to all boot applications may be applied only to an individual application. However, the reverse isn't true. For example, one can specify either "`all:locale`" or "`winresume:locale`", but as the BCD setting "`win-pe`" doesn't apply to all boot applications, "`winload:winpe`" is valid, but "`all:winpe`" isn't valid. The setting that controls boot debugging ("`bootdebug`" or 0x16000010) will always be validated and will have no effect if it's included in the provided fields. > [!NOTE] -> Take care when configuring BCD entries in the Group Policy setting. The Local Group Policy Editor does not validate the correctness of the BCD entry. BitLocker will fail to be enabled if the Group Policy setting specified is invalid. +> Take care when configuring BCD entries in the policy setting. The Local Group Policy Editor doesn't validate the correctness of the BCD entry. BitLocker fails to be enabled if the policy setting specified is invalid. ### Default BCD validation profile -The following table contains the default BCD validation profile used by BitLocker in Windows 8, Windows Server 2012, and subsequent versions: +The following table contains the default BCD validation profile used by BitLocker: | Hex Value | Prefix | Friendly Name | | - | - | - | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md index 790e888481..750e3d4166 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-devices-compliant-with-instantgo-or-hsti-to-opt-out-of-pre-boot-pin.md @@ -8,9 +8,12 @@ ms.topic: include ### Allow devices compliant with InstantGo or HSTI to opt out of preboot PIN -This policy setting allows users on devices that are compliant with InstantGo or Microsoft Hardware Security Test Interface (HSTI) to not have a PIN for preboot authentication. This overrides the *Require startup PIN with TPM* and *Require startup key and PIN with TPM* options of the [*Require additional authentication at startup*](#require-additional-authentication-at-startup) policy on compliant hardware. +This policy setting allows users on devices that are compliant with InstantGo or Microsoft Hardware Security Test Interface (HSTI) to not have a PIN for preboot authentication. -If you enable this policy setting, users on InstantGo and HSTI compliant devices can turn on BitLocker without preboot authentication. If this policy isn't enabled, the options of [*Require additional authentication at startup*](#require-additional-authentication-at-startup) policy apply. +The policy overrides the *Require startup PIN with TPM* and *Require startup key and PIN with TPM* options of the [*Require additional authentication at startup*](#require-additional-authentication-at-startup) policy on compliant hardware. + +- If you enable this policy setting, users on InstantGo and HSTI compliant devices can turn on BitLocker without preboot authentication +- If the policy is disabled or not configured, the options of [*Require additional authentication at startup*](#require-additional-authentication-at-startup) policy apply | | Path | |--|--| From 6f9613f90ec015b24ea97e3dec21ee1b7b27dcc2 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 29 Sep 2023 12:55:08 -0400 Subject: [PATCH 050/505] acrolinx --- .../data-protection/bitlocker/bcd-settings-and-bitlocker.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md index d9dacfa52d..5c928a8adb 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md @@ -15,13 +15,13 @@ If it's believed that there's a risk in excluding a particular BCD setting from If the default BCD setting persistently triggers a recovery for benign changes, you can exclude that BCD setting from the validation coverage. > [!IMPORTANT] -> Devices with UEFI firmware can use secure boot to provide enhanced boot security. When BitLocker is able to use secure boot for platform and BCD integrity validation, as defined by the **[Allow Secure Boot for integrity validation](policy-settings.md?tabs=os#allow-secure-boot-for-integrity-validation)** policy setting, the **[Use enhanced Boot Configuration Data validation profile](../policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)** policy is ignored. +> Devices with UEFI firmware can use secure boot to provide enhanced boot security. When BitLocker is able to use secure boot for platform and BCD integrity validation, as defined by the **[Allow Secure Boot for integrity validation](policy-settings.md?tabs=os#allow-secure-boot-for-integrity-validation)** policy setting, the **[Use enhanced Boot Configuration Data validation profile](policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)** policy is ignored. One of the benefits of using secure boot is that it can correct BCD settings during boot without triggering recovery events. Secure boot enforces the same BCD settings as BitLocker. Secure boot BCD enforcement isn't configurable from within the operating system. ## Customizing BCD validation settings -To modify the BCD settings that are validated by BitLocker, the administrator will add or exclude BCD settings from the platform validation profile by enabling and configuring the **[Use enhanced Boot Configuration Data validation profile](../policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)** policy setting. +To modify the BCD settings that are validated by BitLocker, the administrator will add or exclude BCD settings from the platform validation profile by enabling and configuring the **[Use enhanced Boot Configuration Data validation profile](policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)** policy setting. For the purposes of BitLocker validation, BCD settings are associated with a specific set of Microsoft boot applications. These BCD settings can also be applied to the other Microsoft boot applications that aren't part of the set to which the BCD settings are already applicable for. This setting can be done by attaching any of the following prefixes to the BCD settings that are being entered in the group policy settings dialog: @@ -38,7 +38,7 @@ You can quickly obtain the friendly name for the BCD settings on a computer by u Not all BCD settings have friendly names. For those settings without a friendly name, the hex value is the only way to configure an exclusion policy. -When specifying BCD values in the **[Use enhanced Boot Configuration Data validation profile](../policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)** policy setting, use the following syntax: +When specifying BCD values in the **[Use enhanced Boot Configuration Data validation profile](policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)** policy setting, use the following syntax: - Prefix the setting with the boot application prefix - Append a colon `:` From 37556e10b82e3eea300a367ef2455cc96a17de55 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 29 Sep 2023 14:37:51 -0400 Subject: [PATCH 051/505] FAQ updates --- .../data-protection/bitlocker/faq.yml | 165 ++++++++++-------- 1 file changed, 90 insertions(+), 75 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml index 49a7fbf26a..a8b020ee1d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml @@ -5,7 +5,7 @@ metadata: ms.collection: - tier1 ms.topic: faq - ms.date: 07/25/2023 + ms.date: 09/29/2023 title: BitLocker FAQ summary: Learn more about BitLocker by reviewing the frequently asked questions. @@ -14,16 +14,6 @@ sections: ### YamlMime:FAQ - name: Overview and requirements questions: - - question: How does BitLocker work? - answer: | - **How BitLocker works with operating system drives** - - BitLocker Can be used to mitigate unauthorized data access on lost or stolen computers by encrypting all user files and system files on the operating system drive, including the swap files and hibernation files, and checking the integrity of early boot components and boot configuration data. - - **How BitLocker works with fixed and removable data drives** - - BitLocker can be used to encrypt the entire contents of a data drive. Group Policy can be used to require BitLocker be enabled on a drive before the computer can write data to the drive. BitLocker can be configured with various unlock methods for data drives, and a data drive supports multiple unlock methods. - - question: Does BitLocker support multifactor authentication? answer: Yes, BitLocker supports multifactor authentication for operating system drives. If BitLocker is enabled on a computer that has a TPM version 1.2 or later, additional forms of authentication can be used with the TPM protection. @@ -34,7 +24,7 @@ sections: > [!NOTE] > Dynamic disks aren't supported by BitLocker. Dynamic data volumes won't be displayed in the Control Panel. Although the operating system volume will always be displayed in the Control Panel, regardless of whether it's a Dynamic disk, if it's a dynamic disk it can't be protected by BitLocker. - - question: Why are two partitions required? Why does the system drive have to be so large? + - question: Why are two partitions required? answer: Two partitions are required to run BitLocker because pre-startup authentication and system integrity verification must occur on a separate partition from the encrypted operating system drive. This configuration helps protect the operating system and the information in the encrypted drive. - question: Which Trusted Platform Modules (TPMs) does BitLocker support? @@ -47,22 +37,22 @@ sections: > Installed Operating System on hardware in legacy mode will stop the OS from booting when the BIOS mode is changed to UEFI. Use the tool [MBR2GPT](/windows/deployment/mbr-to-gpt) before changing the BIOS mode that will prepare the OS and the disk to support UEFI. - question: How can I tell if a computer has a TPM? - answer: Beginning with Windows 10, version 1803, the TPM status can be checked in **Windows Defender Security Center** > **Device Security** > **Security processor details**. In previous versions of Windows, open the TPM MMC console (tpm.msc) and look under the **Status** heading. [**Get-TPM**](/powershell/module/trustedplatformmodule/get-tpm?view=windowsserver2019-ps)** can also be run in PowerShell to get more details about the TPM on the current computer. + answer: The TPM status can be checked in **Windows Defender Security Center** > **Device Security** > **Security processor details**. - question: Can I use BitLocker on an operating system drive without a TPM? answer: | - Yes, BitLocker can be enabled on an operating system drive without a TPM version 1.2 or higher, if the BIOS or UEFI firmware has the ability to read from a USB flash drive in the boot environment. BitLocker won't unlock the protected drive until BitLocker's own volume master key is first released by either the computer's TPM or by a USB flash drive containing the BitLocker startup key for that computer. However, computers without TPMs won't be able to use the system integrity verification that BitLocker can also provide. + Yes, BitLocker can be enabled on an operating system drive without a TPM, if the BIOS or UEFI firmware has the ability to read from a USB flash drive in the boot environment. BitLocker won't unlock the protected drive until BitLocker's own volume master key is first released by either the computer's TPM or by a USB flash drive containing the BitLocker startup key for that computer. However, computers without TPMs won't be able to use the system integrity verification that BitLocker can also provide. To help determine whether a computer can read from a USB device during the boot process, use the BitLocker system check as part of the BitLocker setup process. This system check performs tests to confirm that the computer can properly read from the USB devices at the appropriate time and that the computer meets other BitLocker requirements. - question: How do I obtain BIOS support for the TPM on my computer? answer: | Contact the computer manufacturer to request a Trusted Computing Group (TCG)-compliant BIOS or UEFI boot firmware that meets the following requirements: - - It's compliant with the TCG standards for a client computer. - - It has a secure update mechanism to help prevent a malicious BIOS or boot firmware from being installed on the computer. + - It's compliant with the TCG standards for a client computer + - It has a secure update mechanism to help prevent a malicious BIOS or boot firmware from being installed on the computer - question: What credentials are required to use BitLocker? - answer: To turn on, turn off, or change configurations of BitLocker on operating system and fixed data drives, membership in the local **Administrators** group is required. Standard users can turn on, turn off, or change configurations of BitLocker on removable data drives. + answer: To turn on, turn off, or change configurations of BitLocker on operating system and fixed data drives, membership to the local *Administrators* group is required. Standard users can turn on, turn off, or change configurations of BitLocker on removable data drives. - question: What is the recommended boot order for computers that are going to be BitLocker-protected? answer: The computer's startup options should be configured to have the hard disk drive first in the boot order, before any other drives such as CD/DVD drives or USB drives. If the hard disk isn't first and the computer typically boots from the hard disk, then a boot order change may be detected or assumed when removable media is found during boot. The boot order typically affects the system measurement that is verified by BitLocker and a change in boot order will cause a prompt for the BitLocker recovery key. For the same reason, if a laptop is used with a docking station, ensure that the hard disk drive is first in the boot order both when the laptop is docked and undocked. @@ -70,16 +60,16 @@ sections: - name: BitLocker and Windows upgrade questions: - question: | - Can I upgrade to Windows 10 with BitLocker enabled? + Can I upgrade Windows versions with BitLocker enabled? answer: | Yes. - question: | What is the difference between suspending and decrypting BitLocker? answer: | - **Decrypt** completely removes BitLocker protection and fully decrypts the drive. + *Decrypt* completely removes BitLocker protection and fully decrypts the drive. - **Suspend** keeps the data encrypted but encrypts the BitLocker volume master key with a clear key. The clear key is a cryptographic key stored unencrypted and unprotected on the disk drive. By storing this key unencrypted, the **Suspend** option allows for changes or upgrades to the computer without the time and cost of decrypting and re-encrypting the entire drive. After the changes are made and BitLocker is again enabled, BitLocker will reseal the encryption key to the new values of the measured components that changed as a part of the upgrade, the volume master key is changed, the protectors are updated to match and the clear key is erased. + *Suspend* keeps the data encrypted but encrypts the BitLocker volume master key with a clear key. The clear key is a cryptographic key stored unencrypted and unprotected on the disk drive. By storing this key unencrypted, the *Suspend* option allows for changes or upgrades to the computer without the time and cost of decrypting and re-encrypting the entire drive. After the changes are made and BitLocker is again enabled, BitLocker will reseal the encryption key to the new values of the measured components that changed as a part of the upgrade, the volume master key is changed, the protectors are updated to match and the clear key is erased. - question: | Do I have to suspend BitLocker protection to download and install system updates and upgrades? @@ -87,15 +77,15 @@ sections: No user action is required for BitLocker in order to apply updates from Microsoft, including [Windows quality updates and feature updates](/windows/deployment/update/waas-quick-start). Users need to suspend BitLocker for Non-Microsoft software updates, such as: - - Some TPM firmware updates if these updates clear the TPM outside of the Windows API. Not every TPM firmware update will clear the TPM. Users don't have to suspend BitLocker if the TPM firmware update uses Windows API to clear the TPM because in this case, BitLocker will be automatically suspended. It's recommended that users test their TPM firmware updates if they don't want to suspend BitLocker protection. - - Non-Microsoft application updates that modify the UEFI\BIOS configuration. - - Manual or third-party updates to secure boot databases (only if BitLocker uses Secure Boot for integrity validation). - - Updates to UEFI\BIOS firmware, installation of additional UEFI drivers, or UEFI applications without using the Windows update mechanism (only if BitLocker doesn't use Secure Boot for integrity validation during updates). - - BitLocker can be checked if it uses Secure Boot for integrity validation with the command line `manage-bde.exe -protectors -get C:`. If Secure Boot for integrity validation is being used, it will be report **Uses Secure Boot for integrity validation**. + - Some TPM firmware updates if these updates clear the TPM outside of the Windows API. Not every TPM firmware update will clear the TPM. Users don't have to suspend BitLocker if the TPM firmware update uses Windows API to clear the TPM because in this case, BitLocker will be automatically suspended. It's recommended that users test their TPM firmware updates if they don't want to suspend BitLocker protection + - Non-Microsoft application updates that modify the UEFI\BIOS configuration + - Manual or third-party updates to secure boot databases (only if BitLocker uses Secure Boot for integrity validation) + - Updates to UEFI\BIOS firmware, installation of additional UEFI drivers, or UEFI applications without using the Windows update mechanism (only if BitLocker doesn't use Secure Boot for integrity validation during updates) + - BitLocker can be checked if it uses Secure Boot for integrity validation with the command line `manage-bde.exe -protectors -get C:`. If Secure Boot for integrity validation is being used, it reports **Uses Secure Boot for integrity validation** > [!NOTE] - > If BitLocker has been suspended, BitLocker protection can be resumed after the upgrade or update has been installed. Upon resuming protection, BitLocker will reseal the encryption key to the new values of the measured components that changed as a part of the upgrade or update. If these types of upgrades or updates are applied without suspending BitLocker, the computer will enter recovery mode when restarting and will require a recovery key or password to access the computer. + > If BitLocker is suspended, you can resume BitLocker protection after the upgrade or update is installed. Upon resuming protection, BitLocker will reseal the encryption key to the new values of the measured components that changed as a part of the upgrade or update. If these types of upgrades or updates are applied without suspending BitLocker, the computer will enter recovery mode when restarting and will require a recovery key or password to access the computer. - name: Deployment and administration questions: @@ -123,37 +113,37 @@ sections: - question: How can I prevent users on a network from storing data on an unencrypted drive? answer: | - Group Policy settings can be configured to require that data drives be BitLocker-protected before a BitLocker-protected computer can write data to them. For more info, see [BitLocker policy settings](policy-settings.md). + Policy settings can be configured to require that data drives be BitLocker-protected before a BitLocker-protected computer can write data to them. For more info, see [BitLocker policy settings](policy-settings.md). When these policy settings are enabled, the BitLocker-protected operating system will mount any data drives that aren't protected by BitLocker as read-only. - - question: What is Used Disk Space Only encryption? + - question: What is *Used Disk Space Only* encryption? answer: | - BitLocker in Windows 10 lets users choose to encrypt just their data. Although it's not the most secure way to encrypt a drive, this option can reduce encryption time by more than 99 percent, depending on how much data that needs to be encrypted. For more information, see [Used Disk Space Only encryption](bitlocker-device-encryption.md#used-disk-space-only-encryption). + BitLocker lets users choose to encrypt just their data. Although it's not the most secure way to encrypt a drive, this option can reduce encryption time by more than 99 percent, depending on how much data that needs to be encrypted. For more information, see [Used Disk Space Only encryption](bitlocker-device-encryption.md#used-disk-space-only-encryption). - - question: What system changes would cause the integrity check on my operating system drive to fail? + - question: What system changes would cause the integrity check on the OS drive to fail? answer: | The following types of system changes can cause an integrity check failure and prevent the TPM from releasing the BitLocker key to decrypt the protected operating system drive: - - Moving the BitLocker-protected drive into a new computer. - - Installing a new motherboard with a new TPM. - - Turning off, disabling, or clearing the TPM. - - Changing any boot configuration settings. - - Changing the BIOS, UEFI firmware, master boot record, boot sector, boot manager, option ROM, or other early boot components or boot configuration data. + - Moving the BitLocker-protected drive into a new computer + - Installing a new motherboard with a new TPM + - Turning off, disabling, or clearing the TPM + - Changing any boot configuration settings + - Changing the BIOS, UEFI firmware, master boot record, boot sector, boot manager, option ROM, or other early boot components or boot configuration data - question: What causes BitLocker to start into recovery mode when attempting to start the operating system drive? answer: | Because BitLocker is designed to protect computers from numerous attacks, there are numerous reasons why BitLocker could start in recovery mode. For example: - - Changing the BIOS boot order to boot another drive in advance of the hard drive. - - Adding or removing hardware, such as inserting a new card in the computer. - - Removing, inserting, or completely depleting the charge on a smart battery on a portable computer. + - Changing the BIOS boot order to boot another drive in advance of the hard drive + - Adding or removing hardware, such as inserting a new card in the computer + - Removing, inserting, or completely depleting the charge on a smart battery on a portable computer In BitLocker, recovery consists of decrypting a copy of the volume master key using either a recovery key stored on a USB flash drive or a cryptographic key derived from a recovery password. The TPM isn't involved in any recovery scenarios, so recovery is still possible if the TPM fails boot component validation, malfunctions, or is removed. - question: What can prevent BitLocker from binding to PCR 7? - answer: BitLocker can be prevented from binding to PCR 7 if a non-Windows OS booted prior to Windows, or if Secure Boot isn't available to the device, either because it has been disabled or the hardware doesn't support it. + answer: BitLocker can be prevented from binding to PCR 7 if a non-Windows OS booted prior to Windows, or if Secure Boot isn't available to the device, either because it's disabled or the hardware doesn't support it. - question: Can I swap hard disks on the same computer if BitLocker is enabled on the operating system drive? answer: Yes, multiple hard disks can be swapped on the same computer if BitLocker is enabled, but only if the hard disks were BitLocker-protected on the same computer. The BitLocker keys are unique to the TPM and the operating system drive. If a backup operating system or data drive needs to be prepared in case of a disk failure, make sure that they were matched with the correct TPM. Different hard drives can also be configured for different operating systems and then enable BitLocker on each one with different authentication methods (such as one with TPM-only and one with TPM+PIN) without any conflicts. @@ -161,33 +151,56 @@ sections: - question: Can I access my BitLocker-protected drive if I insert the hard disk into a different computer? answer: Yes, if the drive is a data drive, it can be unlocked from the **BitLocker Drive Encryption** Control Panel item by using a password or smart card. If the data drive was configured for automatic unlock only, it will need to be unlocked by using the recovery key. The encrypted hard disk can be unlocked by a data recovery agent (if one was configured) or it can be unlocked by using the recovery key. - - question: Why is **Turn BitLocker on** not available when I right-click a drive? + - question: Why isn't the **Turn BitLocker on** option available when I right-click a drive? answer: Some drives can't be encrypted with BitLocker. Reasons a drive can't be encrypted include insufficient disk size, an incompatible file system, if the drive is a dynamic disk, or a drive is designated as the system partition. By default, the system drive (or system partition) is hidden from display. However, if it isn't created as a hidden drive when the operating system was installed due to a custom installation process, that drive might be displayed but can't be encrypted. - question: What type of disk configurations are supported by BitLocker? answer: Any number of internal, fixed data drives can be protected with BitLocker. On some versions ATA and SATA-based, direct-attached storage devices are also supported. - name: Key Management - questions: + questions: - question: How can I authenticate or unlock my removable data drive? answer: | - Removable data drives can be unlocked using a password or a smart card. An SID protector can also be configured to unlock a drive by using user domain credentials. After encryption has started, the drive can also be automatically unlocked on a specific computer for a specific user account. System administrators can configure which options are available for users including password complexity and minimum length requirements. To unlock by using a SID protector, use `manage-bde.exe`: + Removable data drives can be unlocked using a password or a smart card. A SID protector can also be configured to unlock a drive by using user domain credentials. After encryption has started, the drive can also be automatically unlocked on a specific computer for a specific user account. System administrators can configure which options are available for users including password complexity and minimum length requirements. To unlock by using a SID protector, use `manage-bde.exe`: ```cmd Manage-bde.exe -protectors -add e: -sid domain\username ``` - - question: What is the difference between a recovery password, recovery key, PIN, enhanced PIN, and startup key? + - question: What is the difference between a TPM owner password, recovery password, recovery key, PIN, enhanced PIN, and startup key? answer: | - For tables that list and describe elements such as a recovery password, recovery key, and PIN, see [BitLocker key protectors](prepare-your-organization-for-bitlocker-planning-and-policies.md#bitlocker-key-protectors) and [BitLocker authentication methods](prepare-your-organization-for-bitlocker-planning-and-policies.md#bitlocker-authentication-methods). + There are multiple keys that can be generated and used by BitLocker. Some keys are required and some are optional protectors you can choose to use depending on the level of security you require. + + **TPM owner password** + + Prior to enabling BitLocker on a computer with a TPM version 1.2, you must initialize the TPM. The initialization process generates a TPM owner password, which is a password set on the TPM. You must be able to supply the TPM owner password to change the state of the TPM, such as when enabling or disabling the TPM or resetting the TPM lockout. + + **Recovery password and recovery key** + + When you set up BitLocker, you must choose how access to BitLocker-protected drives can be recovered in the event that the specified unlock method cannot be used (such as if the TPM cannot validate the boot components, the personal identification number (PIN) is forgotten, or the password is forgotten). In these situations, you must be able to supply either the recovery key or the recovery password to unlock the encrypted data on the drive. When you supply the recovery information, you can use either of the following formats: + + - A recovery password consisting of 48 digits divided into eight groups. During recovery, you need to type this password into the BitLocker recovery console by using the function keys on your keyboard + - A key file on a USB flash drive that is read directly by the BitLocker recovery console. During recovery, you need to insert this USB device + + **PIN and enhanced PIN** + For a higher level of security with the TPM, you can configure BitLocker with a personal identification number (PIN). The PIN is a user-created value that must be entered each time the computer starts or resumes from hibernation. The PIN can consist of 4 to 20 digits as specified by the *Configure minimum PIN length for startup* policy setting and is stored internally as a 256-bit hash of the entered Unicode characters. This value is never displayed to the user. The PIN is used to provide another factor of authentication in conjunction with TPM authentication.\ + For an even higher level of security with the TPM, you can configure BitLocker to use enhanced PINs. Enhanced PINs are PINs that use the full keyboard character set in addition to the numeric set to allow for more possible PIN combinations and are between 4 and 20 characters in length. To use enhanced PINs, you must enable the *Allow enhanced PINs for startup* policy setting before adding the PIN to the drive. By enabling this policy, all PINs created can utilize full keyboard characters. + + **Startup key** + + Configuring a startup key is another method to enable a higher level of security with the TPM. The startup key is a key stored on a USB flash drive, and the USB flash drive must be inserted every time the computer starts. The startup key is used to provide another factor of authentication in conjunction with TPM authentication. To use a USB flash drive as a startup key, the USB flash drive must be formatted by using the NTFS, FAT, or FAT32 file system. + + >[!IMPORTANT] + > You must have a startup key to use BitLocker on a non-TPM computer. + - question: How can the recovery password and recovery key be stored? answer: | The recovery password and recovery key for an operating system drive or a fixed data drive can be saved to a folder, saved to one or more USB devices, saved to a Microsoft Account, or printed. For removable data drives, the recovery password and recovery key can be saved to a folder, saved to a Microsoft Account, or printed. By default, a recovery key for a removable drive can't be stored on a removable drive. - A domain administrator can also configure Group Policy to automatically generate recovery passwords and store them in Active Directory Domain Services (AD DS) for any BitLocker-protected drive. + A domain administrator can also configure policy settings to automatically generate recovery passwords and store them in Active Directory Domain Services (AD DS) or Microsoft Entra ID for any BitLocker-protected drive. - question: Is it possible to add an additional method of authentication without decrypting the drive if I only have the TPM authentication method enabled? answer: | @@ -195,11 +208,10 @@ sections: ```cmd manage-bde.exe -protectors -delete %systemdrive% -type tpm - + manage-bde.exe -protectors -add %systemdrive% -tpmandpin <4-20 digit numeric PIN> ``` - - + - question: When should an additional method of authentication be considered? answer: | New hardware that meets [Windows Hardware Compatibility Program](/windows-hardware/design/compatibility/) requirements make a PIN less critical as a mitigation, and having a TPM-only protector is likely sufficient when combined with policies like device lockout. For example, Surface Pro and Surface Book don't have external DMA ports to attack. @@ -210,8 +222,8 @@ sections: BitLocker is designed to make the encrypted drive unrecoverable without the required authentication. When in recovery mode, the user needs the recovery password or recovery key to unlock the encrypted drive. > [!IMPORTANT] - > Store the recovery information in AD DS, along with in a Microsoft Account, or another safe location. - + > Store the recovery information in Microsoft Entra ID, AD DS, Microsoft Account, or another safe location. + - question: Can the USB flash drive that is used as the startup key also be used to store the recovery key? answer: While using a USB flash drive as both the startup key and for storage of the recovery key is technically possible, it isn't a best practice to use one USB flash drive to store both keys. If the USB flash drive that contains the startup key is lost or stolen, the recovery key will also be lost. In addition, inserting this key would cause the computer to automatically boot from the recovery key even if TPM-measured files have changed, which circumvents the TPM's system integrity check. @@ -247,7 +259,7 @@ sections: It's possible that a personal identification number (PIN) can be discovered by an attacker performing a brute force attack. A brute force attack occurs when an attacker uses an automated tool to try different PIN combinations until the correct one is discovered. For BitLocker-protected computers, this type of attack, also known as a dictionary attack, requires that the attacker has physical access to the computer. The TPM has the built-in ability to detect and react to these types of attacks. Because different manufacturers' TPMs may support different PIN and attack mitigations, contact the TPM's manufacturer to determine how the computer's TPM mitigates PIN brute force attacks. - After the TPM's manufacturer has been determined, contact the manufacturer to gather the TPM's vendor-specific information. Most manufacturers use the PIN authentication failure count to exponentially increase lockout time to the PIN interface. However, each manufacturer has different policies regarding when and how the failure counter is decreased or reset. + After the TPM's manufacturer is determined, contact the manufacturer to gather the TPM's vendor-specific information. Most manufacturers use the PIN authentication failure count to exponentially increase lockout time to the PIN interface. However, each manufacturer has different policies regarding when and how the failure counter is decreased or reset. - question: How can I determine the manufacturer of my TPM? answer: The TPM manufacturer can be determined in **Windows Defender Security Center** > **Device Security** > **Security processor details**. @@ -260,11 +272,15 @@ sections: - What is the algorithm for determining the duration of a lockout based on the number of failed attempts and any other relevant parameters? - What actions can cause the failure count and lockout duration to be decreased or reset? - - question: Can PIN length and complexity be managed with Group Policy? + - question: Can PIN length and complexity be managed with policy settings? answer: | - Yes and No. The minimum personal identification number (PIN) length can be configured by using the **Configure minimum PIN length for startup** Group Policy setting and allow the use of alphanumeric PINs by enabling the **Allow enhanced PINs for startup** Group Policy setting. However, PIN complexity can't be required via Group Policy. + The minimum personal identification number (PIN) length can be configured by using the **Configure minimum PIN length for startup** Group Policy setting and allow the use of alphanumeric PINs by enabling the **Allow enhanced PINs for startup** policy setting. PIN complexity can't be required via policy settings. For more info, see [BitLocker policy settings](policy-settings.md). + + - question: How are the PIN and TPM used to derive the volume master key? + answer: | + BitLocker hashes the user-specified personal identification number (PIN) by using SHA-256, and the first 160 bits of the hash are used as authorization data sent to the TPM to seal the volume master key. The volume master key is now protected by both the TPM and the PIN. To unseal the volume master key, you are required to enter the PIN each time the computer restarts or resumes from hibernation. - name: BitLocker To Go questions: @@ -288,18 +304,17 @@ sections: answer: | Stored information | Description -------------------|------------ - Hash of the TPM owner password | Beginning with Windows 10, the password hash isn't stored in AD DS by default. The password hash can be stored only if the TPM is owned and the ownership was taken by using components of Windows 8.1 or earlier, such as the BitLocker Setup Wizard or the TPM snap-in. BitLocker recovery password | The recovery password allows unlocking of and access to the drive after a recovery incident. Domain administrators can view the BitLocker recovery password by using the BitLocker Recovery Password Viewer. For more information about this tool, see [BitLocker: Use BitLocker Recovery Password Viewer](bitlocker-use-bitlocker-recovery-password-viewer.md). BitLocker key package | The key package helps to repair damage to the hard disk that would otherwise prevent standard recovery. Using the key package for recovery requires the BitLocker Repair Tool, `Repair-bde`. - question: | - What if BitLocker is enabled on a computer before the computer has joined the domain? + What if BitLocker is enabled on a computer before the computer joins the domain? answer: | - If BitLocker is enabled on a drive before Group Policy has been applied to enforce a backup, the recovery information won't be automatically backed up to AD DS when the computer joins the domain or when Group Policy is subsequently applied. However, the Group Policy settings **Choose how BitLocker-protected operating system drives can be recovered**, **Choose how BitLocker-protected fixed drives can be recovered**, and **Choose how BitLocker-protected removable drives can be recovered** can be chosen to require the computer to be connected to a domain before BitLocker can be enabled to help ensure that recovery information for BitLocker-protected drives in the organization is backed up to AD DS. + If BitLocker is enabled on a drive before policy settings are applied to enforce a backup, the recovery information won't be automatically backed up to AD DS when the computer joins the domain or when the policy settings are subsequently applied. However, the policy settings **Choose how BitLocker-protected operating system drives can be recovered**, **Choose how BitLocker-protected fixed drives can be recovered**, and **Choose how BitLocker-protected removable drives can be recovered** can be chosen to require the computer to be connected to a domain before BitLocker can be enabled to help ensure that recovery information for BitLocker-protected drives in the organization is backed up to AD DS. For more info, see [BitLocker policy settings](policy-settings.md). - The BitLocker Windows Management Instrumentation (WMI) interface does allow administrators to write a script to back up or synchronize an online client's existing recovery information. However, BitLocker doesn't automatically manage this process. The `manage-bde.exe` command-line tool can also be used to manually back up recovery information to AD DS. For example, to back up all of the recovery information for the `$env:SystemDrive` to AD DS, the following command script can be used from an elevated command prompt: + The BitLocker Windows Management Instrumentation (WMI) interface allows administrators to write a script to back up or synchronize an online client's existing recovery information. However, BitLocker doesn't automatically manage this process. The `manage-bde.exe` command-line tool can also be used to manually back up recovery information to AD DS. For example, to back up all of the recovery information for the `$env:SystemDrive` to AD DS, the following command script can be used from an elevated command prompt: ```powershell $BitLocker = Get-BitLockerVolume -MountPoint $env:SystemDrive @@ -310,7 +325,7 @@ sections: ``` > [!IMPORTANT] - > Joining a computer to the domain should be the first step for new computers within an organization. After computers are joined to a domain, storing the BitLocker recovery key to AD DS is automatic (when enabled in Group Policy). + > Joining a computer to the domain should be the first step for new computers within an organization. After computers are joined to a domain, storing the BitLocker recovery key to AD DS is automatic (when enabled with policy settings). - question: | Is there an event log entry recorded on the client computer to indicate the success or failure of the Active Directory backup? @@ -329,7 +344,7 @@ sections: answer: | If the backup initially fails, such as when a domain controller is unreachable at the time when the BitLocker setup wizard is run, BitLocker doesn't try again to back up the recovery information to AD DS. - When an administrator selects the **Require BitLocker backup to AD DS** check box of the **Store BitLocker recovery information in Active Directory Domain Service (Windows 2008 and Windows Vista)** policy setting, or the equivalent **Do not enable BitLocker until recovery information is stored in AD DS for (operating system | fixed data | removable data) drives** check box in any of the **Choose how BitLocker-protected operating system drives can be recovered**, **Choose how BitLocker-protected fixed data drives can be recovered**, and **Choose how BitLocker-protected removable data drives can be recovered** policy settings, users can't enable BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. With these settings configured if the backup fails, BitLocker can't be enabled, ensuring that administrators will be able to recover BitLocker-protected drives in the organization. + When an administrator selects the **Do not enable BitLocker until recovery information is stored in AD DS for (operating system | fixed data | removable data) drives** check box in any of the **Choose how BitLocker-protected operating system drives can be recovered**, **Choose how BitLocker-protected fixed data drives can be recovered**, and **Choose how BitLocker-protected removable data drives can be recovered** policy settings, users can't enable BitLocker unless the computer is connected to the domain and the backup of BitLocker recovery information to AD DS succeeds. With these settings configured if the backup fails, BitLocker can't be enabled, ensuring that administrators will be able to recover BitLocker-protected drives in the organization. For more info, see [BitLocker policy settings](policy-settings.md). @@ -340,17 +355,17 @@ sections: - question: | What form of encryption does BitLocker use? Is it configurable? answer: | - BitLocker uses Advanced Encryption Standard (AES) as its encryption algorithm with configurable key lengths of 128 bits or 256 bits. The default encryption setting is AES-128, but the options are configurable by using Group Policy. + BitLocker uses Advanced Encryption Standard (AES) as its encryption algorithm with configurable key lengths of 128 bits or 256 bits. The default encryption setting is AES-128, but the options are configurable by using policy settings. - question: | What is the best practice for using BitLocker on an operating system drive? answer: | - The recommended practice for BitLocker configuration on an operating system drive is to implement BitLocker on a computer with a TPM version 1.2 or higher, and a Trusted Computing Group (TCG)-compliant BIOS or UEFI firmware implementation, along with a PIN. By requiring a PIN that was set by the user in addition to the TPM validation, a malicious user that has physical access to the computer can't start the computer. + The recommended practice for BitLocker configuration on an operating system drive is to implement BitLocker on a computer with a TPM version 1.2 or higher. - question: | What are the implications of using the sleep or hibernate power management options? answer: | - BitLocker on operating system drives in its basic configuration (with a TPM but without other startup authentication) provides extra security for the hibernate mode. However, BitLocker provides greater security when it's configured to use another startup authentication factor (TPM+PIN, TPM+USB, or TPM+PIN+USB) with the hibernate mode. This method is more secure because returning from hibernation requires authentication. In sleep mode, the computer is vulnerable to direct memory access attacks, since unprotected data remains in RAM. Therefore, for improved security, it's recommended to disable sleep mode and to use TPM+PIN for the authentication method. Startup authentication can be configured by using a [policy setting](policy-settings.md) or Mobile Device Management with the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp). + BitLocker on operating system drives in its basic configuration provides extra security for the hibernate mode. In sleep mode, the computer is vulnerable to direct memory access attacks, since unprotected data remains in RAM. Therefore, for improved security, it's recommended to disable sleep mode. Startup authentication can be configured by using a [policy setting](policy-settings.md). - question: | What are the advantages of a TPM? @@ -363,9 +378,9 @@ sections: - name: Network Unlock questions: - question: | - BitLocker Network Unlock FAQ + What is BitLocker Network Unlock answer: | - BitLocker Network Unlock enables easier management for BitLocker-enabled desktops and servers that use the TPM+PIN protection method in a domain environment. When a computer that is connected to a wired corporate network is rebooted, Network Unlock allows the PIN entry prompt to be bypassed. It automatically unlocks BitLocker-protected operating system volumes by using a trusted key that is provided by the Windows Deployment Services server as its secondary authentication method. + BitLocker Network Unlock enables easier management for BitLocker-enabled clients and servers that use the TPM+PIN protection method in a domain environment. When a computer that is connected to a wired corporate network is rebooted, Network Unlock allows the PIN entry prompt to be bypassed. It automatically unlocks BitLocker-protected operating system volumes by using a trusted key that is provided by the Windows Deployment Services server as its secondary authentication method. To use Network Unlock, a PIN must be configured for the computer. When the computer isn't connected to the network, a PIN will need to be provided to unlock it. @@ -412,13 +427,13 @@ sections: answer: | The system check is designed to ensure the computer's BIOS or UEFI firmware is compatible with BitLocker and that the TPM is working correctly. The system check can fail for several reasons: - - The computer's BIOS or UEFI firmware can't read USB flash drives. - - The computer's BIOS, uEFI firmware, or boot menu doesn't have reading USB flash drives enabled. - - There are multiple USB flash drives inserted into the computer. - - The PIN wasn't entered correctly. - - The computer's BIOS or UEFI firmware only supports using the function keys (F1-F10) to enter numerals in the pre-boot environment. - - The startup key was removed before the computer finished rebooting. - - The TPM has malfunctioned and fails to unseal the keys. + - The computer's BIOS or UEFI firmware can't read USB flash drives + - The computer's BIOS, uEFI firmware, or boot menu doesn't have reading USB flash drives enabled + - There are multiple USB flash drives inserted into the computer + - The PIN wasn't entered correctly + - The computer's BIOS or UEFI firmware only supports using the function keys (F1-F10) to enter numerals in the pre-boot environment + - The startup key was removed before the computer finished rebooting + - The TPM has malfunctioned and fails to unseal the keys - question: | What can I do if the recovery key on my USB flash drive can't be read? @@ -441,7 +456,7 @@ sections: Limited BitLocker functionality is available in Safe Mode. BitLocker-protected drives can be unlocked and decrypted by using the **BitLocker Drive Encryption** Control Panel item. Right-clicking to access BitLocker options from Windows Explorer isn't available in Safe Mode. - question: | - How do I "lock" a data drive? + How do I *lock* a data drive? answer: | Both fixed and removable data drives can be locked by using the Manage-bde command-line tool and the -lock command. @@ -466,11 +481,11 @@ sections: answer: | BitLocker should work like any specific physical machine within its hardware limitations as long as the environment (physical or virtual) meets Windows Operating System requirements to run. - With TPM: Yes, it's supported. - - Without TPM: Yes, it's supported (with password protector). + - Without TPM: Yes, it's supported (with password protector). - BitLocker is also supported on data volume VHDs, such as those used by clusters, if running Windows 10, Windows 8.1, Windows 8, Windows Server 2016, Windows Server 2012 R2, or Windows Server 2012. + BitLocker is also supported on data volume VHDs, such as those used by clusters. - question: | Can I use BitLocker with virtual machines (VMs)? answer: | - Yes. Password protectors and virtual TPMs can be used with BitLocker to protect virtual machines. VMs can be domain joined, Azure AD-joined, or workplace-joined (via **Settings** > **Accounts** > **Access work or school** > **Connect**) to receive policy. Encryption can be enabled either while creating the VM or by using other existing management tools such as the BitLocker CSP, or even by using a startup script or sign-in script delivered by Group Policy. Windows Server 2016 also supports [Shielded VMs and guarded fabric](/windows-server/virtualization/guarded-fabric-shielded-vm/guarded-fabric-and-shielded-vms-top-node) to protect VMs from malicious administrators. + Yes, BitLocker can be used with virtual machines (VMs) if the environment meets BitLocker's hardware and software requirements. From 1fdbf32810bbc18f1bc7f6bbf1eab32a40cfcec7 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 29 Sep 2023 14:53:48 -0400 Subject: [PATCH 052/505] FAQ updates --- .../operating-system-security/data-protection/bitlocker/faq.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml index a8b020ee1d..73ec4cf75e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml @@ -348,7 +348,7 @@ sections: For more info, see [BitLocker policy settings](policy-settings.md). - When an administrator clears these check boxes, the administrator is allowing a drive to be BitLocker-protected without having the recovery information successfully backed up to AD DS; however, BitLocker won't automatically retry the backup if it fails. Instead, administrators can create a backup script, as described earlier in [What if BitLocker is enabled on a computer before the computer has joined the domain?](#what-if-bitlocker-is-enabled-on-a-computer-before-the-computer-has-joined-the-domain-) to capture the information after connectivity is restored. + When an administrator clears these check boxes, the administrator is allowing a drive to be BitLocker-protected without having the recovery information successfully backed up to AD DS; however, BitLocker won't automatically retry the backup if it fails. Instead, administrators can create a backup script, as described earlier in [What if BitLocker is enabled on a computer before the computer joins the domain?](#what-if-bitlocker-is-enabled-on-a-computer-before-the-computer-joins-the-domain-) to capture the information after connectivity is restored. - name: Security questions: From 6f440f2fdee9d34662ce249fede32abb8275986e Mon Sep 17 00:00:00 2001 From: Justin Piesco <107575186+JustPies@users.noreply.github.com> Date: Sun, 1 Oct 2023 13:19:18 -0400 Subject: [PATCH 053/505] policheck update --- store-for-business/microsoft-store-for-business-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/store-for-business/microsoft-store-for-business-overview.md b/store-for-business/microsoft-store-for-business-overview.md index 06da85f98c..834bc6a47d 100644 --- a/store-for-business/microsoft-store-for-business-overview.md +++ b/store-for-business/microsoft-store-for-business-overview.md @@ -333,7 +333,7 @@ Customers in these markets can use Microsoft Store for Business and Education to - Aremenia - Azerbaijan - Belarus -- Bosnia +- Bosnia and Herzegovina - Brazil - Georgia - India From 76f92579d161410d64c0460e9df17046875e7c7a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 2 Oct 2023 09:14:19 -0400 Subject: [PATCH 054/505] updates --- .../bitlocker-recovery-guide-plan.md | 589 ++---------------- 1 file changed, 61 insertions(+), 528 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md index 275521ba0b..556792a072 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md @@ -1,16 +1,16 @@ --- title: BitLocker recovery guide -description: This article for IT professionals describes how to recover BitLocker keys from Active Directory Domain Services (AD DS). +description: Learn how to recover BitLocker keys from Microsoft Entra ID and Active Directory Domain Services (AD DS). ms.collection: - highpri - tier1 -ms.topic: conceptual -ms.date: 11/08/2022 +ms.topic: howto +ms.date: 09/29/2023 --- # BitLocker recovery guide -This article describes how to recover BitLocker keys from AD DS. +This article describes how to recover BitLocker keys from Microsoft Entra ID and Active Directory Domain Services (AD DS). Organizations can use BitLocker recovery information saved in Active Directory Domain Services (AD DS) to access BitLocker-protected data. It's recommended to create a recovery model for BitLocker while planning for BitLocker deployment. @@ -368,13 +368,13 @@ There are rules governing which hint is shown during the recovery (in the order #### Example 1 (single recovery key with single backup) -| Custom URL | Yes | -|----------------------|------------| -| Saved to Microsoft Account | Yes | -| Saved to Azure AD | No | -| Saved to Active Directory | No | -| Printed | No | -| Saved to file | No | +| Custom URL | Yes | +|----------------------------|-----| +| Saved to Microsoft Account | Yes | +| Saved to Azure AD | No | +| Saved to Active Directory | No | +| Printed | No | +| Saved to file | No | **Result:** The hints for the Microsoft account and custom URL are displayed. @@ -382,13 +382,13 @@ There are rules governing which hint is shown during the recovery (in the order #### Example 2 (single recovery key with single backup) -| Custom URL | Yes | -|----------------------|------------| -| Saved to Microsoft Account | No | -| Saved to Azure AD | No | -| Saved to Active Directory | Yes | -| Printed | No | -| Saved to file | No | +| Custom URL | Yes | +|----------------------------|-----| +| Saved to Microsoft Account | No | +| Saved to Azure AD | No | +| Saved to Active Directory | Yes | +| Printed | No | +| Saved to file | No | **Result:** Only the custom URL is displayed. @@ -396,13 +396,13 @@ There are rules governing which hint is shown during the recovery (in the order #### Example 3 (single recovery key with multiple backups) -| Custom URL | No | -|----------------------|------------| -| Saved to Microsoft Account | Yes | -| Saved to Azure AD | Yes | -| Saved to Active Directory | No | -| Printed | Yes | -| Saved to file | Yes | +| Custom URL | No | +|----------------------------|-----| +| Saved to Microsoft Account | Yes | +| Saved to Azure AD | Yes | +| Saved to Active Directory | No | +| Printed | Yes | +| Saved to file | Yes | **Result:** Only the Microsoft Account hint is displayed. @@ -410,28 +410,26 @@ There are rules governing which hint is shown during the recovery (in the order #### Example 4 (multiple recovery passwords) -| Custom URL | No | -|----------------------|-----------------| -| Saved to Microsoft Account | No | -| Saved to Azure AD | No | -| Saved to Active Directory | No | -| Printed | No | -| Saved to file | Yes | -| Creation time | **1PM** | -| Key ID | A564F193 | +| Custom URL | No | +|----------------------------|----------| +| Saved to Microsoft Account | No | +| Saved to Azure AD | No | +| Saved to Active Directory | No | +| Printed | No | +| Saved to file | Yes | +| Creation time | **1PM** | +| Key ID | A564F193 | -
-
-| Custom URL | No | -|----------------------|-----------------| -| Saved to Microsoft Account | No | -| Saved to Azure AD | No | -| Saved to Active Directory | No | -| Printed | No | -| Saved to file | No | -| Creation time | **3PM** | -| Key ID | T4521ER5 | +| Custom URL | No | +|----------------------------|----------| +| Saved to Microsoft Account | No | +| Saved to Azure AD | No | +| Saved to Active Directory | No | +| Printed | No | +| Saved to file | No | +| Creation time | **3PM** | +| Key ID | T4521ER5 | **Result:** Only the hint for a successfully backed up key is displayed, even if it isn't the most recent key. @@ -439,25 +437,25 @@ There are rules governing which hint is shown during the recovery (in the order #### Example 5 (multiple recovery passwords) -| Custom URL | No | -|----------------------|-----------------| -| Saved to Microsoft Account | Yes | -| Saved to Azure AD | Yes | -| Saved to Active Directory | No | -| Printed | No | -| Saved to file | No | -| Creation time | **1PM** | -| Key ID | 99631A34 | +| Custom URL | No | +|----------------------------|----------| +| Saved to Microsoft Account | Yes | +| Saved to Azure AD | Yes | +| Saved to Active Directory | No | +| Printed | No | +| Saved to file | No | +| Creation time | **1PM** | +| Key ID | 99631A34 | -| Custom URL | No | -|----------------------|-----------------| -| Saved to Microsoft Account | No | -| Saved to Azure AD | Yes | -| Saved to Active Directory | No | -| Printed | No | -| Saved to file | No | -| Creation time | **3PM** | -| Key ID | 9DF70931 | +| Custom URL | No | +|----------------------------|----------| +| Saved to Microsoft Account | No | +| Saved to Azure AD | Yes | +| Saved to Active Directory | No | +| Printed | No | +| Saved to file | No | +| Creation time | **3PM** | +| Key ID | 9DF70931 | **Result:** The hint for the most recent key is displayed. @@ -484,8 +482,6 @@ The recovery password and be invalidated and reset in two ways: - **Use `manage-bde.exe`**: `manage-bde.exe` can be used to remove the old recovery password and add a new recovery password. The procedure identifies the command and the syntax for this method. -- **Run a script**: A script can be run to reset the password without decrypting the volume. The sample script in the procedure illustrates this functionality. The sample script creates a new recovery password and invalidates all other passwords. - ### Resetting a recovery password using `manage-bde.exe` 1. Remove the previous recovery password. @@ -514,466 +510,3 @@ The recovery password and be invalidated and reset in two ways: > [!WARNING] > The braces `{}` must be included in the ID string. - -### Running the sample recovery password script to reset the recovery passwords - -1. Save the following sample script in a VBScript file. For example: - - `ResetPassword.vbs`. - -2. At the command prompt, enter the following command:: - - ```cmd - cscript.exe ResetPassword.vbs - ``` - - > [!IMPORTANT] - > This sample script is configured to work only for the C volume. If necessary, customize the script to match the volume where the password reset needs to be tested. - -> [!NOTE] -> To manage a remote computer, specify the remote computer name rather than the local computer name. - -The following sample VBScript can be used to reset the recovery passwords: - -
-
- Expand to view sample recovery password VBscript to reset the recovery passwords - -```vb -' Target drive letter -strDriveLetter = "c:" -' Target computer name -' Use "." to connect to the local computer -strComputerName = "." -' -------------------------------------------------------------------------------- -' Connect to the BitLocker WMI provider class -' -------------------------------------------------------------------------------- -strConnectionStr = "winmgmts:" _ - & "{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _ - & strComputerName _ - & "\root\cimv2\Security\MicrosoftVolumeEncryption" - - -On Error Resume Next 'handle permission errors -Set objWMIService = GetObject(strConnectionStr) -If Err.Number <> 0 Then - WScript.Echo "Failed to connect to the BitLocker interface (Error 0x" & Hex(Err.Number) & ")." - Wscript.Echo "Ensure that you are running with administrative privileges." - WScript.Quit -1 -End If -On Error GoTo 0 -strQuery = "Select * from Win32_EncryptableVolume where DriveLetter='" & strDriveLetter & "'" -Set colTargetVolumes = objWMIService.ExecQuery(strQuery) -If colTargetVolumes.Count = 0 Then - WScript.Echo "FAILURE: Unable to find BitLocker-capable drive " & strDriveLetter & " on computer " & strComputerName & "." - WScript.Quit -1 -End If -' there should only be one volume found -For Each objFoundVolume in colTargetVolumes - set objVolume = objFoundVolume -Next -' objVolume is now our found BitLocker-capable disk volume -' -------------------------------------------------------------------------------- -' Perform BitLocker WMI provider functionality -' -------------------------------------------------------------------------------- -' Add a new recovery password, keeping the ID around so it doesn't get deleted later -' ---------------------------------------------------------------------------------- -nRC = objVolume.ProtectKeyWithNumericalPassword("Recovery Password Refreshed By Script", , sNewKeyProtectorID) -If nRC <> 0 Then -WScript.Echo "FAILURE: ProtectKeyWithNumericalPassword failed with return code 0x" & Hex(nRC) -WScript.Quit -1 -End If -' Removes the other, "stale", recovery passwords -' ---------------------------------------------------------------------------------- -nKeyProtectorTypeIn = 3 ' type associated with "Numerical Password" protector -nRC = objVolume.GetKeyProtectors(nKeyProtectorTypeIn, aKeyProtectorIDs) -If nRC <> 0 Then -WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC) -WScript.Quit -1 -End If -' Delete those key protectors other than the one we just added. -For Each sKeyProtectorID In aKeyProtectorIDs -If sKeyProtectorID <> sNewKeyProtectorID Then -nRC = objVolume.DeleteKeyProtector(sKeyProtectorID) -If nRC <> 0 Then -WScript.Echo "FAILURE: DeleteKeyProtector on ID " & sKeyProtectorID & " failed with return code 0x" & Hex(nRC) -WScript.Quit -1 -Else -' no output -'WScript.Echo "SUCCESS: Key protector with ID " & sKeyProtectorID & " deleted" -End If -End If -Next -WScript.Echo "A new recovery password has been added. Old passwords have been removed." -' - some advanced output (hidden) -'WScript.Echo "" -'WScript.Echo "Type ""manage-bde.exe -protectors -get " & strDriveLetter & " -type recoverypassword"" to view existing passwords." -``` - -
- -## Retrieving the BitLocker key package - -Two methods can be used to retrieve the key package as described in [Using Additional Recovery Information](#using-additional-recovery-information): - -- **Export a previously saved key package from AD DS.** Read access is required to BitLocker recovery passwords that are stored in AD DS. - -- **Export a new key package from an unlocked, BitLocker-protected volume.** Local administrator access to the working volume is required before any damage occurred to the volume. - -### Running the sample key package retrieval script that exports all previously saved key packages from AD DS - -The following steps and sample script exports all previously saved key packages from AD DS. - -1. Save the following sample script in a VBScript file. For example: `GetBitLockerKeyPackageADDS.vbs`. - -2. At the command prompt, enter a command similar to the following sample script: - - ```cmd - cscript.exe GetBitLockerKeyPackageADDS.vbs -? - ``` - -The following sample script can be used to create a VBScript file to retrieve the BitLocker key package from AD DS: - -
-
- Expand to view sample key package retrieval VBscript that exports all previously saved key packages from AD DS - -```vb -' -------------------------------------------------------------------------------- -' Usage -' -------------------------------------------------------------------------------- -Sub ShowUsage - Wscript.Echo "USAGE: GetBitLockerKeyPackageADDS [Path To Save Key Package] [Optional Computer Name]" - Wscript.Echo "If no computer name is specified, the local computer is assumed." - Wscript.Echo - Wscript.Echo "Example: GetBitLockerKeyPackageADDS E:\bitlocker-ad-key-package mycomputer" - WScript.Quit -End Sub -' -------------------------------------------------------------------------------- -' Parse Arguments -' -------------------------------------------------------------------------------- -Set args = WScript.Arguments -Select Case args.Count - Case 1 - If args(0) = "/?" Or args(0) = "-?" Then - ShowUsage - Else - strFilePath = args(0) - ' Get the name of the local computer - Set objNetwork = CreateObject("WScript.Network") - strComputerName = objNetwork.ComputerName - End If - - Case 2 - If args(0) = "/?" Or args(0) = "-?" Then - ShowUsage - Else - strFilePath = args(0) - strComputerName = args(1) - End If - Case Else - ShowUsage -End Select -' -------------------------------------------------------------------------------- -' Get path to Active Directory computer object associated with the computer name -' -------------------------------------------------------------------------------- -Function GetStrPathToComputer(strComputerName) - ' Uses the global catalog to find the computer in the forest - ' Search also includes deleted computers in the tombstone - Set objRootLDAP = GetObject("LDAP://rootDSE") - namingContext = objRootLDAP.Get("defaultNamingContext") ' e.g. string dc=fabrikam,dc=com - strBase = "" - - Set objConnection = CreateObject("ADODB.Connection") - Set objCommand = CreateObject("ADODB.Command") - objConnection.Provider = "ADsDSOOBject" - objConnection.Open "Active Directory Provider" - Set objCommand.ActiveConnection = objConnection - strFilter = "(&(objectCategory=Computer)(cn=" & strComputerName & "))" - strQuery = strBase & ";" & strFilter & ";distinguishedName;subtree" - objCommand.CommandText = strQuery - objCommand.Properties("Page Size") = 100 - objCommand.Properties("Timeout") = 100 - objCommand.Properties("Cache Results") = False - ' Enumerate all objects found. - Set objRecordSet = objCommand.Execute - If objRecordSet.EOF Then - WScript.echo "The computer name '" & strComputerName & "' cannot be found." - WScript.Quit 1 - End If - ' Found object matching name - Do Until objRecordSet.EOF - dnFound = objRecordSet.Fields("distinguishedName") - GetStrPathToComputer = "LDAP://" & dnFound - objRecordSet.MoveNext - Loop - ' Clean up. - Set objConnection = Nothing - Set objCommand = Nothing - Set objRecordSet = Nothing -End Function -' -------------------------------------------------------------------------------- -' Securely access the Active Directory computer object using Kerberos -' -------------------------------------------------------------------------------- -Set objDSO = GetObject("LDAP:") -strPathToComputer = GetStrPathToComputer(strComputerName) -WScript.Echo "Accessing object: " + strPathToComputer -Const ADS_SECURE_AUTHENTICATION = 1 -Const ADS_USE_SEALING = 64 '0x40 -Const ADS_USE_SIGNING = 128 '0x80 -' -------------------------------------------------------------------------------- -' Get all BitLocker recovery information from the Active Directory computer object -' -------------------------------------------------------------------------------- -' Get all the recovery information child objects of the computer object -Set objFveInfos = objDSO.OpenDSObject(strPathToComputer, vbNullString, vbNullString, _ - ADS_SECURE_AUTHENTICATION + ADS_USE_SEALING + ADS_USE_SIGNING) -objFveInfos.Filter = Array("msFVE-RecoveryInformation") -' Iterate through each recovery information object and saves any existing key packages -nCount = 1 -strFilePathCurrent = strFilePath & nCount -For Each objFveInfo in objFveInfos - strName = objFveInfo.Get("name") - strRecoveryPassword = objFveInfo.Get("msFVE-RecoveryPassword") - strKeyPackage = objFveInfo.Get("msFVE-KeyPackage") - WScript.echo - WScript.echo "Recovery Object Name: " + strName - WScript.echo "Recovery Password: " + strRecoveryPassword - ' Validate file path - Set fso = CreateObject("Scripting.FileSystemObject") - If (fso.FileExists(strFilePathCurrent)) Then - WScript.Echo "The file " & strFilePathCurrent & " already exists. Please use a different path." -WScript.Quit -1 - End If - ' Save binary data to the file - SaveBinaryDataText strFilePathCurrent, strKeyPackage - - WScript.echo "Related key package successfully saved to " + strFilePathCurrent - ' Update next file path using base name - nCount = nCount + 1 - strFilePathCurrent = strFilePath & nCount -Next -'---------------------------------------------------------------------------------------- -' Utility functions to save binary data -'---------------------------------------------------------------------------------------- -Function SaveBinaryDataText(FileName, ByteArray) - 'Create FileSystemObject object - Dim FS: Set FS = CreateObject("Scripting.FileSystemObject") - - 'Create text stream object - Dim TextStream - Set TextStream = FS.CreateTextFile(FileName) - - 'Convert binary data To text And write them To the file - TextStream.Write BinaryToString(ByteArray) -End Function -Function BinaryToString(Binary) - Dim I, S - For I = 1 To LenB(Binary) - S = S & Chr(AscB(MidB(Binary, I, 1))) - Next - BinaryToString = S -End Function -WScript.Quit -``` - -
- -### Running the sample key package retrieval script that exports a new key package from an unlocked, encrypted volume - -The following steps and sample script exports a new key package from an unlocked, encrypted volume. - -1. Save the following sample script in a VBScript file. For example: `GetBitLockerKeyPackage.vbs` - -2. Open an administrator command prompt, and then enter a command similar to the following sample script: - - ```cmd - cscript.exe GetBitLockerKeyPackage.vbs -? - ``` - -
-
- Expand to view sample VBscript that exports a new key package from an unlocked, encrypted volume - -```vb -' -------------------------------------------------------------------------------- -' Usage -' -------------------------------------------------------------------------------- -Sub ShowUsage - Wscript.Echo "USAGE: GetBitLockerKeyPackage [VolumeLetter/DriveLetter:] [Path To Save Key Package]" - Wscript.Echo - Wscript.Echo "Example: GetBitLockerKeyPackage C: E:\bitlocker-backup-key-package" - WScript.Quit -End Sub -' -------------------------------------------------------------------------------- -' Parse Arguments -' -------------------------------------------------------------------------------- -Set args = WScript.Arguments -Select Case args.Count - Case 2 - If args(0) = "/?" Or args(0) = "-?" Then - ShowUsage - Else - strDriveLetter = args(0) - strFilePath = args(1) - End If - Case Else - ShowUsage -End Select -' -------------------------------------------------------------------------------- -' Other Inputs -' -------------------------------------------------------------------------------- -' Target computer name -' Use "." to connect to the local computer -strComputerName = "." -' Default key protector ID to use. Specify "" to let the script choose. -strDefaultKeyProtectorID = "" -' strDefaultKeyProtectorID = "{001298E0-870E-4BA0-A2FF-FC74758D5720}" ' sample -' -------------------------------------------------------------------------------- -' Connect to the BitLocker WMI provider class -' -------------------------------------------------------------------------------- -strConnectionStr = "winmgmts:" _ - & "{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _ - & strComputerName _ - & "\root\cimv2\Security\MicrosoftVolumeEncryption" - - -On Error Resume Next 'handle permission errors -Set objWMIService = GetObject(strConnectionStr) -If Err.Number <> 0 Then - WScript.Echo "Failed to connect to the BitLocker interface (Error 0x" & Hex(Err.Number) & ")." - Wscript.Echo "Ensure that you are running with administrative privileges." - WScript.Quit -1 -End If -On Error GoTo 0 -strQuery = "Select * from Win32_EncryptableVolume where DriveLetter='" & strDriveLetter & "'" -Set colTargetVolumes = objWMIService.ExecQuery(strQuery) -If colTargetVolumes.Count = 0 Then - WScript.Echo "FAILURE: Unable to find BitLocker-capable drive " & strDriveLetter & " on computer " & strComputerName & "." - WScript.Quit -1 -End If -' there should only be one volume found -For Each objFoundVolume in colTargetVolumes - set objVolume = objFoundVolume -Next -' objVolume is now our found BitLocker-capable disk volume -' -------------------------------------------------------------------------------- -' Perform BitLocker WMI provider functionality -' -------------------------------------------------------------------------------- -' Collect all possible valid key protector ID's that can be used to get the package -' ---------------------------------------------------------------------------------- -nNumericalKeyProtectorType = 3 ' type associated with "Numerical Password" protector -nRC = objVolume.GetKeyProtectors(nNumericalKeyProtectorType, aNumericalKeyProtectorIDs) -If nRC <> 0 Then -WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC) -WScript.Quit -1 -End If -nExternalKeyProtectorType = 2 ' type associated with "External Key" protector -nRC = objVolume.GetKeyProtectors(nExternalKeyProtectorType, aExternalKeyProtectorIDs) -If nRC <> 0 Then -WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC) -WScript.Quit -1 -End If -' Get first key protector of the type "Numerical Password" or "External Key", if any -' ---------------------------------------------------------------------------------- -if strDefaultKeyProtectorID = "" Then -' Save first numerical password, if exists -If UBound(aNumericalKeyProtectorIDs) <> -1 Then -strDefaultKeyProtectorID = aNumericalKeyProtectorIDs(0) -End If -' No numerical passwords exist, save the first external key -If strDefaultKeyProtectorID = "" and UBound(aExternalKeyProtectorIDs) <> -1 Then -strDefaultKeyProtectorID = aExternalKeyProtectorIDs(0) -End If -' Fail case: no recovery key protectors exist. -If strDefaultKeyProtectorID = "" Then -WScript.Echo "FAILURE: Cannot create backup key package because no recovery passwords or recovery keys exist. Check that BitLocker protection is on for this drive." -WScript.Echo "For help adding recovery passwords or recovery keys, enter ""manage-bde.exe -protectors -add -?""." -WScript.Quit -1 -End If -End If -' Get some information about the chosen key protector ID -' ---------------------------------------------------------------------------------- -' is the type valid? -nRC = objVolume.GetKeyProtectorType(strDefaultKeyProtectorID, nDefaultKeyProtectorType) -If Hex(nRC) = "80070057" Then -WScript.Echo "The key protector ID " & strDefaultKeyProtectorID & " is not valid." -WScript.Echo "This ID value may have been provided by the script writer." -ElseIf nRC <> 0 Then -WScript.Echo "FAILURE: GetKeyProtectorType failed with return code 0x" & Hex(nRC) -WScript.Quit -1 -End If -' what's a string that can be used to describe it? -strDefaultKeyProtectorType = "" -Select Case nDefaultKeyProtectorType - Case nNumericalKeyProtectorType - strDefaultKeyProtectorType = "recovery password" - Case nExternalKeyProtectorType - strDefaultKeyProtectorType = "recovery key" - Case Else - WScript.Echo "The key protector ID " & strDefaultKeyProtectorID & " does not refer to a valid recovery password or recovery key." - WScript.Echo "This ID value may have been provided by the script writer." -End Select -' Save the backup key package using the chosen key protector ID -' ---------------------------------------------------------------------------------- -nRC = objVolume.GetKeyPackage(strDefaultKeyProtectorID, oKeyPackage) -If nRC <> 0 Then -WScript.Echo "FAILURE: GetKeyPackage failed with return code 0x" & Hex(nRC) -WScript.Quit -1 -End If -' Validate file path -Set fso = CreateObject("Scripting.FileSystemObject") -If (fso.FileExists(strFilePath)) Then -WScript.Echo "The file " & strFilePath & " already exists. Please use a different path." -WScript.Quit -1 -End If -Dim oKeyPackageByte, bKeyPackage -For Each oKeyPackageByte in oKeyPackage - 'WScript.echo "key package byte: " & oKeyPackageByte - bKeyPackage = bKeyPackage & ChrB(oKeyPackageByte) -Next -' Save binary data to the file -SaveBinaryDataText strFilePath, bKeyPackage -' Display helpful information -' ---------------------------------------------------------------------------------- -WScript.Echo "The backup key package has been saved to " & strFilePath & "." -WScript.Echo "IMPORTANT: To use this key package, the " & strDefaultKeyProtectorType & " must also be saved." -' Display the recovery password or a note about saving the recovery key file -If nDefaultKeyProtectorType = nNumericalKeyProtectorType Then -nRC = objVolume.GetKeyProtectorNumericalPassword(strDefaultKeyProtectorID, sNumericalPassword) -If nRC <> 0 Then -WScript.Echo "FAILURE: GetKeyProtectorNumericalPassword failed with return code 0x" & Hex(nRC) -WScript.Quit -1 -End If -WScript.Echo "Save this recovery password: " & sNumericalPassword -ElseIf nDefaultKeyProtectorType = nExternalKeyProtectorType Then -WScript.Echo "The saved key file is named " & strDefaultKeyProtectorID & ".BEK" -WScript.Echo "For help re-saving this external key file, enter ""manage-bde.exe -protectors -get -?""" -End If -'---------------------------------------------------------------------------------------- -' Utility functions to save binary data -'---------------------------------------------------------------------------------------- -Function SaveBinaryDataText(FileName, ByteArray) - 'Create FileSystemObject object - Dim FS: Set FS = CreateObject("Scripting.FileSystemObject") - - 'Create text stream object - Dim TextStream - Set TextStream = FS.CreateTextFile(FileName) - - 'Convert binary data To text And write them To the file - TextStream.Write BinaryToString(ByteArray) -End Function -Function BinaryToString(Binary) - Dim I, S - For I = 1 To LenB(Binary) - S = S & Chr(AscB(MidB(Binary, I, 1))) - Next - BinaryToString = S -End Function -``` - -
- -## Related articles - -- [BitLocker overview](index.md) From 4aef7ec18d9ace8699af5e6ad4d09c6c8fa08836 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 2 Oct 2023 11:13:57 -0400 Subject: [PATCH 055/505] updates --- ...nd-storage-area-networks-with-bitlocker.md | 0 .../bitlocker-deployment-comparison.md | 75 ++++++++---------- .../bitlocker-recovery-guide-plan.md | 20 ++--- ...-countermeasures.md => countermeasures.md} | 41 ++-------- .../images/kernel-dma-protection.png | Bin 269397 -> 0 bytes .../pre-boot-authentication-group-policy.png | Bin 1293849 -> 0 bytes ...ma-devices-when-this-computer-is-locked.md | 3 + .../data-protection/bitlocker/index.md | 22 +++-- 8 files changed, 66 insertions(+), 95 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md => protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md (100%) rename windows/security/operating-system-security/data-protection/bitlocker/{bitlocker-countermeasures.md => countermeasures.md} (72%) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/kernel-dma-protection.png delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/pre-boot-authentication-group-policy.png diff --git a/windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md b/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md rename to protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md index 1654153fec..ebe9a4d9a8 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md @@ -1,49 +1,42 @@ --- title: BitLocker deployment comparison -description: This article shows the BitLocker deployment comparison chart. +description: Learn about the differences between Microsoft Intune and Microsoft Configuration Manager when managing BitLocker. ms.topic: conceptual -ms.date: 11/08/2022 +ms.date: 10/02/2023 --- # BitLocker deployment comparison -This article depicts the BitLocker deployment comparison chart. +This article compares the BitLocker management options between Microsoft Intune and Microsoft Configuration Manager. -## BitLocker deployment comparison chart - -| Requirements | Microsoft Intune | Microsoft Configuration Manager | Microsoft BitLocker Administration and Monitoring (MBAM) | -|--|--|--|--| -| *Minimum client operating system version* | Windows 11 and Windows 10 | Windows 11, Windows 10, and Windows 8.1 | Windows 7, Windows 8, Windows 8.1, Windows 10, Windows 10 IoT, and Windows 11 | -| *Supported Windows SKUs* | Enterprise, Pro, Education | Enterprise, Pro, Education | Enterprise | -| *Minimum Windows version* | 1909 | None | None | -| *Supported domain-joined status* | Microsoft Azure Active Directory (Azure AD) joined, hybrid Azure AD joined | Active Directory-joined, hybrid Azure AD joined | Active Directory-joined | -| *Permissions required to manage policies* | Endpoint security manager or custom | Full administrator or custom | Domain Admin or Delegated GPO access | -| *Cloud or on premises* | Cloud | On premises | On premises | -| Server components required? | | ✅ | ✅ | -| *Additional agent required?* | No (device enrollment only) | Configuration Manager client | MBAM client | -| *Administrative plane* | Microsoft Intune admin center | Configuration Manager console | Group Policy Management Console and MBAM sites | -| *Administrative portal installation required* | | ✅ | ✅ | -| *Compliance reporting capabilities* | ✅ | ✅ | ✅ | -| *Force encryption* | ✅ | ✅ | ✅ | -| *Encryption for storage cards (mobile)* | ✅ | ✅ | | -| *Allow recovery password* | ✅ | ✅ | ✅ | -| *Manage startup authentication* | ✅ | ✅ | ✅ | -| *Select cipher strength and algorithms for fixed drives* | ✅ | ✅ | ✅ | -| *Select cipher strength and algorithms for removable drives* | ✅ | ✅ | ✅ | -| *Select cipher strength and algorithms for operating environment drives* | ✅ | ✅ | ✅ | -| *Standard recovery password storage location* | Azure AD or Active Directory | Configuration Manager site database | MBAM database | -| *Store recovery password for operating system and fixed drives to Azure AD or Active Directory* | Yes (Active Directory and Azure AD) | Yes (Active Directory only) | Yes (Active Directory only) | -| *Customize preboot message and recovery link* | ✅ | ✅ | ✅ | -| *Allow/deny key file creation* | ✅ | ✅ | ✅ | -| *Deny Write permission to unprotected drives* | ✅ | ✅ | ✅ | -| *Can be administered outside company network* | ✅ | ✅ | | -| *Support for organization unique IDs* | | ✅ | ✅ | -| *Self-service recovery* | Yes (through Azure AD or Company Portal app) | ✅ | ✅ | -| *Recovery password rotation for fixed and operating environment drives* | Yes (Windows 10, version 1909 and later) | ✅ | ✅ | -| *Wait to complete encryption until recovery information is backed up to Azure AD* | ✅ | | | -| *Wait to complete encryption until recovery information is backed up to Active Directory* | | ✅ | ✅ | -| *Allow or deny Data Recovery Agent* | ✅ | ✅ | ✅ | -| *Unlock a volume using certificate with custom object identifier* | | ✅ | ✅ | -| *Prevent memory overwrite on restart* | | ✅ | ✅ | -| *Configure custom Trusted Platform Module Platform Configuration Register profiles* | | | ✅ | -| *Manage auto-unlock functionality* | | ✅ | ✅ | +| Requirements | Microsoft Intune | Microsoft Configuration Manager | +|--|--|--| +| *Supported Windows client editions* | Pro, Enterprise, Pro Education, Education | Pro, Enterprise, Pro Education, Education | +| *Windows server support* | | ✅ | +| *Supported domain-joined status* | Microsoft Entra joined and hybrid joined | Active Directory-joined, Microsoft Entra hybrid joined | +| *Permissions required to manage policies* | Endpoint security manager or custom | Full administrator or custom | +| *Cloud or on premises* | Cloud | On premises | +| *Additional agent required?* | No (device enrollment only) | Configuration Manager client | +| *Administrative plane* | Microsoft Intune admin center | Configuration Manager console | +| *Compliance reporting capabilities* | ✅ | ✅ | +| *Force encryption* | ✅ | ✅ | +| *Allow recovery password* | ✅ | ✅ | +| *Manage startup authentication* | ✅ | ✅ | +| *Select cipher strength and algorithms for fixed drives* | ✅ | ✅ | +| *Select cipher strength and algorithms for removable drives* | ✅ | ✅ | +| *Select cipher strength and algorithms for operating environment drives* | ✅ | ✅ | +| *Standard recovery password storage location* | Microsoft Entra ID or Active Directory | Configuration Manager site database | +| *Store recovery password for operating system and fixed drives to Microsoft Entra ID or Active Directory* | Both | Active Directory only | +| *Customize preboot message and recovery link* | ✅ | ✅ | +| *Allow/deny key file creation* | ✅ | ✅ | +| *Deny Write permission to unprotected drives* | ✅ | ✅ | +| *Can be administered outside company network* | ✅ | ✅ | +| *Support for organization unique IDs* | ✅ | ✅ | +| *Self-service recovery* | ✅ | ✅ | +| *Recovery password rotation for fixed and operating environment drives* | ✅ | ✅ | +| *Wait to complete encryption until recovery information is backed up to Microsoft Entra ID* | ✅ | | +| *Wait to complete encryption until recovery information is backed up to Active Directory* | ✅ | ✅ | +| *Allow or deny Data Recovery Agent* | ✅ | | +| *Unlock a volume using certificate with custom object identifier* | | ✅ | +| *Prevent memory overwrite on restart* | ✅ | ✅ | +| *Manage auto-unlock functionality* | ✅ | ✅ | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md index 556792a072..1744bbab08 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md @@ -4,29 +4,25 @@ description: Learn how to recover BitLocker keys from Microsoft Entra ID and Act ms.collection: - highpri - tier1 -ms.topic: howto +ms.topic: how-to ms.date: 09/29/2023 --- # BitLocker recovery guide +Organizations can use BitLocker recovery information saved in Microsoft Entra ID and Active Directory Domain Services (AD DS) to access BitLocker-protected drives. It's recommended to create a recovery model for BitLocker while planning for BitLocker deployment. + This article describes how to recover BitLocker keys from Microsoft Entra ID and Active Directory Domain Services (AD DS). -Organizations can use BitLocker recovery information saved in Active Directory Domain Services (AD DS) to access BitLocker-protected data. It's recommended to create a recovery model for BitLocker while planning for BitLocker deployment. - -This article assumes that it's understood how to set up AD DS to back up BitLocker recovery information automatically, and what types of recovery information are saved to AD DS. - -This article doesn't detail how to configure AD DS to store the BitLocker recovery information. +This article assumes that it's understood how to configure devices to automatically backup BitLocker recovery information, and what types of recovery information are saved to Microsoft Entra ID and AD DS. ## What is BitLocker recovery? -BitLocker recovery is the process by which access can be restored to a BitLocker-protected drive if the drive can't be unlocked normally. In a recovery scenario, the following options to restore access to the drive are available: +BitLocker recovery is the process by which access to a BitLocker-protected drive can be restored if the drive can't be unlocked normally. In a recovery scenario, the following options to restore access to the drive are available: -- **The user can supply the recovery password.** If the organization allows users to print or store recovery passwords, the users can enter in the 48-digit recovery password that they printed or stored on a USB drive or with a Microsoft account online. Saving a recovery password with a Microsoft account online is only allowed when BitLocker is used on a PC that isn't a member of a domain. - -- **Data recovery agents can use their credentials to unlock the drive.** If the drive is an operating system drive, the drive must be mounted as a data drive on another computer for the data recovery agent to unlock it. - -- **A domain administrator can obtain the recovery password from AD DS and use it to unlock the drive.** Storing recovery passwords in AD DS is recommended to provide a way for IT professionals to be able to obtain recovery passwords for drives in an organization if needed. This method makes it mandatory to enable this recovery method in the BitLocker group policy setting **Choose how BitLocker-protected operating system drives can be recovered** located at **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > **Operating System Drives** in the Local Group Policy Editor. For more information, see [BitLocker policy settings](policy-settings.md). +- **The user can supply the recovery password**: if the organization allows users to print or store recovery passwords, the users can enter the 48-digit recovery password +- **Data recovery agents can use their credentials to unlock the drive:** if the drive is an operating system drive, the drive must be mounted as a data drive on another device for the data recovery agent to unlock it +- **A domain administrator can obtain the recovery password from AD DS and use it to unlock the drive:** storing recovery passwords in AD DS is recommended to provide a way for IT professionals to be able to obtain recovery passwords for drives in an organization if needed. This method requires to enable the recovery method **Choose how BitLocker-protected operating system drives can be recovered**. For more information, review [BitLocker policy settings](policy-settings.md). ### What causes BitLocker recovery? diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md similarity index 72% rename from windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md rename to windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index 93527d56a6..c6cd4d6f6f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -1,26 +1,17 @@ --- title: BitLocker countermeasures -description: Windows uses technologies including TPM, Secure Boot, Trusted Boot, and Early Launch Anti-malware (ELAM) to protect against attacks on the BitLocker encryption key. +description: Learn about technologies and features to protect against attacks on the BitLocker encryption key. ms.topic: conceptual -ms.date: 11/08/2022 +ms.date: 10/02/2023 --- # BitLocker countermeasures -Windows uses technologies including *trusted platform module (TPM)*, *Secure Boot*, and *Measured Boot* to help protect BitLocker encryption keys against attacks. BitLocker is part of a strategic approach to securing data against offline attacks through encryption technology. Data on a lost or stolen device is vulnerable. For example, there could be unauthorized access, either by running a software attack tool against the device or by transferring the device's hard disk to a different device. - -BitLocker helps mitigate unauthorized data access on lost or stolen devices before the authorized operating system is started. This mitigation is done by: - -- **Encrypting volumes.** For example, BitLocker can be turned on for the operating system volume, a volume on a fixed drive, or removable data drive (such as a USB flash drive, SD card, etc.). Turning on BitLocker for the operating system volume encrypts all system files on the volume, including the paging files and hibernation files. The only exception is for the System partition, which includes the Windows Boot Manager and minimal boot collateral required for decryption of the operating system volume after the key is unsealed. -- **Ensuring the integrity of early boot components and boot configuration data.** On devices that have a TPM version 1.2 or higher, BitLocker uses the enhanced security capabilities of the TPM to make data accessible only if the computer's BIOS firmware code and configuration, original boot sequence, boot components, and BCD configuration all appear unaltered and the encrypted disk is located in the original computer. On systems that use TPM PCR[7], BCD setting changes deemed safe are permitted to improve usability. - -The next sections provide more details about how Windows protects against various attacks on the BitLocker encryption keys in Windows 11, Windows 10, Windows 8.1, and Windows 8. - -For more information about how to enable the best overall security configuration for devices beginning with Windows 10 version 1803, see [Standards for a highly secure Windows device](/windows-hardware/design/device-experiences/oem-highly-secure). +Windows uses hardware solutions and security features that protect BitLocker encryption keys against attacks. These technologies include *Trusted Platform Module (TPM)*, *Secure Boot*, and *Measured Boot*. ## Protection before startup -Before Windows starts, security features implemented as part of the device hardware and firmware must be relied on, including TPM and secure boot. These features help ensure that the device hasn't been tampered with while the system was offline. The following sections provide more details about how Windows uses these features to protect against attacks on the BitLocker encryption keys. +Before Windows starts, security features implemented as part of the device hardware and firmware must be relied on, including TPM and secure boot. These features ensure that the device hasn't been tampered with while the system was offline. ### Trusted Platform Module @@ -59,33 +50,15 @@ On computers with a compatible TPM, operating system drives that are BitLocker-p - **TPM with startup key and PIN.** In addition to the core component protection that the TPM-only provides, part of the encryption key is stored on a USB flash drive, and a PIN is required to authenticate the user to the TPM. This configuration provides multifactor authentication so that if the USB key is lost or stolen, it can't be used for access to the drive, because the correct PIN is also required. -In the following group policy example, TPM + PIN is required to unlock an operating system drive: - -![Pre-boot authentication setting in Group Policy.](images/pre-boot-authentication-group-policy.png) - Pre-boot authentication with a PIN can mitigate an attack vector for devices that use a bootable eDrive because an exposed eDrive bus can allow an attacker to capture the BitLocker encryption key during startup. Pre-boot authentication with a PIN can also mitigate DMA port attacks during the window of time between when BitLocker unlocks the drive and Windows boots to the point that Windows can set any port-related policies that have been configured. -On the other hand, Pre-boot authentication-prompts can be inconvenient to users. In addition, users who forget their PIN or lose their startup key are denied access to their data until they can contact their organization's support team to obtain a recovery key. Pre-boot authentication can also make it more difficult to update unattended desktops and remotely administered servers because a PIN needs to be entered when a computer reboots or resumes from hibernation. +On the other hand, Pre-boot authentication-prompts can be inconvenient to users. In addition, users who forget their PIN or lose their startup key are denied access to their data until they can contact their organization's support team to obtain a recovery key. Pre-boot authentication can also make it more difficult to update unattended desktops and remotely administered servers because a PIN must be entered when a device reboots or resumes from hibernation. To address these issues, [BitLocker Network Unlock](bitlocker-how-to-enable-network-unlock.md) can be deployed. Network Unlock allows systems within the physical enterprise security perimeter that meet the hardware requirements and have BitLocker enabled with TPM+PIN to boot into Windows without user intervention. It requires direct ethernet connectivity to an enterprise Windows Deployment Services (WDS) server. -### Protecting Thunderbolt and other DMA ports +### Protect DMA ports -There are a few different options to protect DMA ports, such as Thunderbolt™3. Beginning with Windows 10 version 1803, new Intel-based devices have kernel protection against DMA attacks via Thunderbolt™ 3 ports enabled by default. This Kernel DMA Protection is available only for new systems beginning with Windows 10 version 1803, as it requires changes in the system firmware and/or BIOS. - -You can use the System Information desktop app `MSINFO32.exe` to check if a device has kernel DMA protection enabled: - -![Kernel DMA protection.](images/kernel-dma-protection.png) - -If kernel DMA protection isn't enabled, follow these steps to protect Thunderbolt™ 3 enabled ports: - -1. Require a password for BIOS changes - -2. Intel Thunderbolt Security must be set to User Authorization in BIOS settings. Refer to [Intel Thunderbolt™ 3 and Security on Microsoft Windows® 10 Operating System documentation](https://thunderbolttechnology.net/security/Thunderbolt%203%20and%20Security.pdf) - -3. Additional DMA security may be added by deploying policy (beginning with Windows 10 version 1607 or Windows 11): [Disable new DMA devices when this computer is locked](policy-settings.md) - -For Thunderbolt v1 and v2 (DisplayPort Connector), refer to the **Thunderbolt Mitigation** section in [Blocking the SBP-2 driver and Thunderbolt controllers to reduce 1394 DMA and Thunderbolt DMA threats to BitLocker](https://support.microsoft.com/help/2516445/blocking-the-sbp-2-driver-and-thunderbolt-controllers-to-reduce-1394-d). For SBP-2 and 1394 (also known as Firewire), refer to the **SBP-2 Mitigation** section in [Blocking the SBP-2 driver and Thunderbolt controllers to reduce 1394 DMA and Thunderbolt DMA threats to BitLocker](https://support.microsoft.com/help/2516445/blocking-the-sbp-2-driver-and-thunderbolt-controllers-to-reduce-1394-d). +It's important to protect DMA ports, as external peripherals may gain unauthorized access to memory. Depending on the device capabilities, there are different options to protect DMA ports. To learn more, see the policy setting [Disable new DMA devices when this computer is locked](policy-settings.md?tabs=common#disable-new-dma-devices-when-this-computer-is-locked). ## Attack countermeasures diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/kernel-dma-protection.png b/windows/security/operating-system-security/data-protection/bitlocker/images/kernel-dma-protection.png deleted file mode 100644 index 297809afdce8d30b82fe5c16d8e6dab9206de487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269397 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�skAg$6R6@frsPfzfcqmMUT}(P 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

jT)uI{R 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

UYh6c_M8lu2B2yXeMDzPUek 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 l^!@?+|6+}K8+cpKFNRhOw9^8UcT!NJ1et6G! zX3os}_4$#x=FUuJGW*_pU3;yycetwZ7c6vA^cOE)V9Ci!slRxE>ha>mtLrx?&)@uj z65>4{FJ0BYNWK7%k?%i0AX!T&NxXPb8;fyoiv0YH<|M1<`r^g=u>bkI1mxodzIgFe zBqt@I>1A~2k8A>fCs$=8m5gMmr%MiVOe>o%jwza=Pcte)HGormHpJ<@AGx^;EUXNg zEUnT=EYd87npnb02JW-x*6fVm@5{x%FA4MrxReK7L3cmQTdy(S=qcP~eh5avl&K!@ zH8Xj7Ni2{{@%Q#zy0gQZc*2q6_WU67(fjoTdv$CL{q2P>=ELnh^6R^cp4@;+1kD3V zo=T3$*7o+$L%`lj#?dWxwWA~Lz((rB9rldJYZT0hCU86RQ{xt~|J|^kdNJ)vv;Xb6 z+EVAYr^_brSfeFWxXyuX31KM;9f2XL?O^XSK&LbAyK?^Q;h&fMZzY9Ix+u%Ya{ccv zk5cf6n%0Ti8%A_(MT!(XDw6|hJNb=HR&gC~;X8J4feGv>(b$&{w{~Q!2>ws~gNe>} zzDEn=eLwtfFG0{1U#ftFcArUcM|&gTPTAeWjJ2;kq|q`3lmF{zQ&YdnAKPl6^E~1a zU(6QuEq8ChzhKfYaTYupj^6Bdx!g}Ub9uWg$M3a%pc_}H7fX;73wV1Dvq3CzSe`1Oa7{#d+n$wm5acdj%|g=XJ0MVXzy zbdgfj^6)UHt2g{sK!DDZ5WreEab+>RalFD+4qzu^*3}rfO@2rbJAm`{2hN+2cbH*~ z;`{e7i#7ovX3uRS$vG0Z3)^yAW}>U`xA5h<{80)qY|uqZ71ooY<&vHTWKClGcq41RA%I{kiM$6CT~Xt3X3L@{@Fi@x{GFn>2&zaiclMjKQ6IBnB3cVz~?XRp6yG9-9gDrIWwj7a^+Y=+na7Tv)Ng$kA^94#ws%`C8+; z2=q~qVoygwL1D?~I@@?J~X^PyZ}P7{?me14(Da3t?}#_RmxI{$i7q(vII89 z*ed11^UPcd!yJr{r*NbRv~)n9l;3_Al6j!>cPNQO->Ek4ruaEl~Jd^2E)W>Wq?=0Y0}D!q1c0b7-x{ z{Dc-r+BEoRkb&q6QVr;OokxM`No0^YR~XyQaj2WCdpi7oC(ZxKB(Df3QVL#9tG1XA zqNLnbBVApAuQ~1JSVl7VvGM4YdlP6C8am3#$`U;;?Gai~b78eK*XgzXewic?$n5Fy z!6)ZJarI;AxEhT`Ml>0}ZPr=x(Q>0fXMHdV*5437gh!bau6yIGI_vu_p$%+>!a^~^ zFS*c{X%;UUXLq+eUf>O2_sq!AZ~_nCIE;ten4iYYH@K>*{4(HZV;8PtC!3vAq*qxg+;{UcB=)| zk0zfWX2o3M=b`Co%-j-x?{Cf+n3#HID|ED63vvumAM#iE zJ&z4FwY6>U46AA?I)Nib?LONUht!eNwDdUWx4f>NyK@cs8KxwU+8;6|(wX-+?57I3Gig^FMgLVG7;Lb@i5_q>44|5soi*Ja zPHy(f!z3Vr)p~Ez9l-=|3~-c3EPdaLTR$Rh%>EbT{eL)Uhz<3jtamB1zBpXKizH(2 zpRYCNw3+%ilE#g?IS>o)Rkr%Wg)?h8s-8oW1-i5k+;mk&-Q|}MjrB1I2aT3T{((~GDQ+)8vOO_Iec2igZ?<#uuz;4W7S-})=ZHsD=Ws5V!R|agXFOx zM7#-Qo3jXK(uE%-z8ndD(A9j5EkCkqLc=-AD zg%+}RkN&O}D`lKpT97?nzD8WLEE|qtFM>OW|8Y-0U*2$YHiko?yu?L(UdA9He26Js zs_u|)h~1`}G{4dDJow&ip5Xk)nIP_Y=#8 z)2RP*Unf&L7S@{IS*20EH8#frjpPIek!aNTO_GmfiN16_8^{OWCXGylEY!#ZuE)#&zN~&}gifb1 zEUG6`XEkl}NLU@J6Iq~C+kHNY@PF@ms%WbNWYM>^V?#@D>*11k+9UG3Eb4+GX$39u zwsLxj69N50>mE^@WEe|z0o%}rNoisn)zumZE3OT{xh^%wiQJ& zi$~S!w?~(0FP^FDyi#$#Pd~UhLXj^4{=*ccuq7>|M5)?mC(tb42H$y~!$8n?AA#T+L?Bq3`L)OFX*Fz8~r#OLw; z<|vS=`F)*%0JoRm+}~|jZNP&M4?jQR9-nIB?of5pkC|L zEBUFLlPRoAO=h#@T1;Gy3w6@QOpc>|&^B(@n>lCr+0lk}gHRqcIa9SDsKKd2d z;qO*B7o775J~b5;im@B{ZR8xwv@gQ4*=1XP>3Tv8Uk^&y|9we4N6=MffIfA2RMGS{ z?Ps66@QxQxSXBn(_i|eO5j(LozzT7D&)Oo&-TCJ22a!^{iYoAAz)ii?W)JjizTP^v zY5nEwGAz@TGvGY9wt&4vC1>s?xI1@F!@@dUu>0~@@SlwuakjTW)z7(o`I&;!PPO`c zLYbqmbZq1=2f_`NyG;Z33Zeu1Lf=J8bQ0J;P6~u4|84Mtf zH+b;_Ee_ukkOdyO0SX~#cAGON+%~U8n?ftz7_^xe z09%)*yhs#wln1srgH@Z|_#(8&`j_>7y#q3ScKxL{!b}{jnXiYk-UP!T@JP#p9RgxL zo2HO-F>AA_nWiXzOtjIHLg_Zq{m{iC3g?ZNKbRZDY>Frj!Xo1PBm z1GN?l>K^bP@)9X#3^a;}c58r1UR_v-L?aXRNo!jR zaMmX1iu3gpK?uk10)(;c>erfuqOWHr_Hg?Pd;cvQQ#j2uhx+%p8cY7)UHNkc{Nl#8 z<1d50pkr~v+g4NL=V*7M~kX{tid%p9nb9jwY)FLWiq+kZ=*FfH6{ zV6O4!4@4pPCoWx9l^Qh8Criy_3P~Q-;w_JnNFv3sPN@8?GqxSd+){)fDF)N)ZmS0B zA_Go-o|#5e@pxG({0Ng@VM;B@?5|Z0=W9PB>!2s%W8K8Hprmh5YE;3i3`+7@xV>+3 zue$`ak2liO(;Kk3Ezn{HK5-U+^eXLPYoAIhD`&j-D0XRe2kxFJqXtf*2_YM-vSbiy zKcsF5ZVr)Uh)QPGX+q6m7e-!&rLZG@Q3;44E8oh!%+RYEX($qad3(oFbHO*>A7pmr zeMZ%s-_{-r4Q00U*Rd#M0kIpGKQI`w16nkVm8UG}Tt%`46~*UcNZK-UNE%04ike{~ zD>tsY>jwmmN9i$a{>&9%v%9hPw=R=J;N;pJlGeOW@0dZXSH1QxAGS&Ng*yiU+8hrX zuqMwFBTY@sQgQqa0QviQ5YInrSLDn|h;04*qpg5)J&mqMx)QJ*0rNSKeG7hYMW&zP z`jsl?{Af6tc;y{?yB30mr&;ZKo2j7ccJvI|;J{4{=7Mh)$9{^}78^94kfM_rNt?1I z&d=#`1pxE(C2>gh_FGdTo5GEkhx1LO`(NLu+m4xR=QE~?+aaN+DE4naX=-as7=lKv z^^c8c&G+=H)k%bWfzq?*y z@e%c~7!i3zbdG$tv=u-wm=O{ZHs$ER?A0QgkdT$;;_(etvV@8*kfdd;j<~*J5{DW; za|b7=0WuyLKX69T7`NgNsAGY#rFqPw(;e`OIGq(j%xt-hy=8I{WoR z6*25|=!GKR;Ni;~FQ2=-q9x8Bk}vJ&Yn1D~7~_cWN3@?vDA0@jsFr=uVqh#rK>rc@ ztzSQ|5elPs_#QWvskN<6kFN;q(QdQGtlqsruC;Z~yM;OL(eHk>xnv|_)h%6k<~nGG zBP0sPsK;}?*2DM@XS?HeY1Dki`ruf2$l1SX&Y#1e7R*G-tY!rTtVlQbOyqpOjc1#c zKlpL;JZo2e*SRG@0o`3JP8qhrRyXzq)kuT;BbYWx4A4xx)gS8Qs!GJn%Btm`C`9eq zW+`kNeV*Y%9-Ca`AzKq;LdGux?qsQ`$$&%XaZlr{ejl%Dh168P+Mn0rF%%7SyH1F5 zLuS38pEUHvPhmS$Gxai{6|Dxn){_lj+BLEzhIHqI`~E zDb+T2k}{T7)=Wla^*2^K91=M<)B+THco1GXuO_zfdCPw0@rt71<6};RWbC>9Unw}G?%n=jQbWFE4DGhB)_7Z?Tq3)wJ92*ci_7(#InB{ z@3yo@)4wd)_L#s=-ACQE7Rg`#i9R_ZVASD8Vq0E*@xhn{y>-$HGctuuO#+k#@nZ`{ z#lA!`@pkm;XOnh7Utc~>vvX%Bk#<5KG9=oBVOlqBa+`XvBV3Hdg05QTNdC#Pvc*cf zRrw1%q(px%;x?u&`zn{@xeI03{i-Wy^%!IoCn6SdD?RX8j!tPI=XQg_*gccp^L$nH ztz&R!KCm#Xm>$oZ`yw*kqIv8U#XTgHut?0yZ~L>7-Y}tL8nsMAox7dTW#E4x^_kTc zl+~hOxf9iTj+5FmF?E#};nn&-kdrSr;*;s9sC{5Cieg3lbuK#Opo=15_@MqV2{jW) zfZCQ4q}Ph?<~;`l0I;4(MOhGCu!#GC+u_J?-K1~axBd84e%!mk`VH2DG?rXDew}^nxltd%M zR)k!;Ml~iMo_Rh?qh2&s=t_CHyf;Y!(;=5O(txRN46Fmln(29UywU;`OS~jvOw@Ab zC&x71{!7r3#WOv1vq2$D#jeE{TrsP4glg`JumeLj%mnW{2u00xAUU9v7?N)LdYfsw z_MLhYE4KP7#<(*-KoB)geHJ6G2Fn&h9|zk#(iS8Q{yf#$$urY3VwVJD)g%}RI! zO6Zyu)9anpB(*X++nVKurcyBChU*LvKClA#dv1yXo~0&fg>M2Wug&EhqMR;fW-?>s zYA6y71X27yX01tqb66l4t*F??lAi(3NvT3jQ1nSR^5+SUq!N8xxY4JD{b*vbKg#%3 znGroj)3uhr?~O^( zJAf?wC`9YgS?UU^BJS9U4#Yg3u@{G*xxCI7kV9Y6>8jvj^7!Xj3j2E(dDA7!Oi)Zj z0U|QUa~x#pO@x}=p`3y!(hJM=_BL|2U8$TN${#&X&+kYQD`S3%u@OGMhZMy6^>WOD zr4$}%EMKRMztU(r6m}`~kd1wKpKmD2ezlNN5q7%Lc6idEyS$9VdeX|Z9$-Mt z&j*hFzZAm%3H*B6Yj-kRuEJ?&-D1AaEp_!sRnxw@CzY*Vni0F`&_{uX*bV{Fv8qTP zf|IjFv~v3|RU5K z205k~%f2l2u@%+}v&ME&))<+>Dd*w2Ma9z1g=#@UgzIxzkzlwA5qYdoCbKJW7q3zB zAVhiGHJx6%z6jAhu3LPOtuCCdmf2-BPm`J4QMh~Y_mAg#2tFqhYLcZ||guG?>wl#rPp;DS6C>#&iR?*)z=gOF@ zt2H9G0)4ZmwH%&`aR5UEo8r z67P6tkvM(;fP&ux&Y5jLay-GdWo6m^am&)4hUP(v^q=638CDWx_&(N>z~k)iU(NG^ zccmMJ%jZZFEK_>u9!7%k5d}kV28Xt)K)KN|f(#oayQUJd?BFNfd{fA8ju?Q{^6|Vo z5Y+ripTMP0eO^f}ZEG>y5J!vKa4AHK{t)*#8&6ITXk)XVbc*QeSm_>J@AuqFje%Z( zMQ%&Wm zpB8oI*w*OZv%3&ztugrf40}cDXe)H7`D}8vJXxb|xE@cdU42vhDm7uZ&(KZ3yc3aA z=?Yh7patCW>^pp3rfP2CvF%wn{(akg`u<7Z6fVlY%iY~n3E!RPgE!vVeF7gHyLUki z`@v|f|Dg+ThZ;KkPXO=Ehdv9CI}p8m&v3}qnar1**DTk~$$FIVQ|8y8g-C5m5Zkso zeY%kI=?NN>eZ&#dVL8J}bWH{`cxTnq*98yX&wJFT2dy%M*^|DwZftUNeJ}v(ng~70 z!31JLu-uMC;D_S}^b{>*UOiRxdqQgP5Wqj#P4N0Ywa$|H^NlGH97dUV3RJBuWEc$g z#S2f3Xdam;%2lXS6sV0GArNzAbyng$wV~4CIS*Mh^!Q=8HXqi*CJnI6cvErJYdjTR z0n9=|w15XJPg*YDf=?QM?>KK7M?#Ols41)?Vp2d~(7v(fBZ9XAEZ){+cY;_%(C)eh z0d-9O-S3%j-1833Ug$m-jZU?gY>BXx6e>Cte=pNA49GxeWMN zNf@`g8uc+7xtn=9bqK5{_JHkFx)YrwnbxILr;@Y2E1e2oDFWu|WB7DL+%NT=HicaR z2EbQ?2r5X9feMgf6?QQyQLX3xuufoKanzb^$D+pbU;oT&C$0ifTiFBbe0;41N4%qB z#I%aHDhAROHSxlHSLa|zp(CmSOz!x1g?uX!QY;H{lp|S(``-%$e9S88_pJ2$==1Iu zl;?ye;b)D}ZJ?K#D%o#_5yucE4{F9q_xEfCX&2C|79%`Bwd?w#aV&V{V&b9$FL%F$ z*>}@DdpI7m%ZMf(^@_#SNFgp5wO7<2@HE=ZiJKJXnGxvU> z)u9lTW+E?gt*l`vAmKGY1^>aW3rCjzKu97*v8gyNNSBIrf$dOe>Kki4!?(ew^U3aH zSN~DKXJ9e2`PQ)grh{JAM9cCcIMV?B-et+X=ri!f$7#GT4?zqFT_Gd#S?XH<7{FE; zqyH@{Kt)%D=)WLkY_I&HtY)diQJi3&LDRrzMI zC;YU=HRG1GNMt&fp{6=zF0lJrUXd)fr-{Dr^=iQlB|h$4;bVI@@`$~Az*e@FLU$7s zs)v9Yp_kyh*c42bHaVM>x6-*F&w=xc@y5|~D9}S^>T;Gg(l|Zl!iT`s8L&oEQ5dkT zxR{Pr_}f?Sm3Ze-XOSlPtu~?TkVI@RW!}YG9b9cY;qu&1 za7=7mSXx00OA_BNx$X8R*+tQA$UfVK&UcPbm9la+X^24`pBgi& zmSNy$ix%O}kA6wT`|5{b;3c3 z))GreeT?!$%$~_bqr0tntrY#s6tn#CT{|M0tUXzY1h{g8r66Hs+3yVBCXPE{iK)mU z>nsMuVqG+zB7mZ4vrRdbR^S`uyNMEsG|Kh?HGv2{6V1~2LeAcMmb@a}Y zaZhLx($u8iukbaC{vgc#0o|FAJn4GqFD|DyVLbj6=Y9#;YH}lySYzMPkVfsx2&~DVB9P6diF##^xToD z!Y;BebR-hn$u0yQj0_1Kpzq5m@ui(b-<=eY_H|JvofHv_>9{2d+pP}6dX2Md$)dklphP6uNCmSF(&fM5<1dxXijWeig*XWB zw50nqvN5pXflOF3bLA#e92h|A-z&?@)g@B$nV0G*HrMN{-d7{T$HLnh@LdJPcDGY2 zE2@c}7LV}`e;pdFdTzLyo13>XD2Ojg&jbJTMy({Vbk+|(cXTYymLqBHutpc7?7R^N z$mfn4OuA7EhK>(`bmBb$Cjb-e1}g*?`0qr)x~#7ZSAD!_-hu)4H%7`2yZ5V$F09U* zCqMp;B!8ZWT->=qTJuK>71-_qq4c>v`Nmv?QY_0sUcIsPC9#_b;~URqKMm}*9p38h zQU0~4b(;R)JvZoW=Q}BR&&_BD2>g78G(Z9fZ+vt_1OqI>aNheV(?= zGolz#bv(VcaG;~6tsMqwKXPFD;A#(N=jXl-=iF=>SrzSEtA1c8ZizDb zaU23jkQ9(pOA+xoq7!&3+*^2Db4@7;zyT1M+9vE?!g7a58E*xSz2Y$;q-N3__ zr)73O2I+i#cXj-knh@@g<{jH1-1*DYiplp>?ql1vpt$P;?>`$);_T}GlcSKQu9r-Q z>TPFt{%=sypGy_b+KR5;5wEnx1;_CljLf-Zs~L!;Sj&FUw664GL6`8+M;z$A)LQEc z7wat;5t;SYoU!z%7S@}4!`9RIRqYt7}mg7-@5-7%`S7RogxLDa~3US*qNqlAAmkcjHHdlY#j1c z@!m$sY;0LCmBX3mFGjI>Z|VBTtTe+0+*gE1055hB*G%?D@F$)idx4PH&L=*6#}y`6 z!i8mBOQX~Fb_MAh^o9^&@zf5rF1qrHilx_ICR0pgDqB@d6MC4DXTTdDtG&n3>X+GW zo{ea)ao^Q~9u|b)9K7?h}AeC4U01z7Y#U@L?uX ziXV)%vs-O@>e{}3+DY`>h_3d3FRzjfY|A$YoQjCyI-nv2Q0go z?+ybtZT@Zgicm~w3EPd&Z{I*PcNy-B@JyLJej;bQ!{*N~JI0-=eIe$yR8`6#9$Vb+ zL$JwksE*xn1X@yUbEfYZHC^^Vpw@Wqie0C_Dy^y-5MDiHYde^&?ju{hwwjscS67)m zO3fluc54$8S(`|os{dA>CJ^vP{3#kB4Ea4c`EY&d`H1l-`$=C_AciXO=SJ(=tk)Pvi&Nh^IrO-mLgboGC7Dt+92O9&Q*dFWOlqO zb|t8oEuwb^Hh{eCyx(ST%r-mS6@T(((W{d(|9qO_+Oee=Lu z=;(ETv}500oy^u=9WG3ZfnglQ#^=Gic)ld#M#aFUWHY`#EwR@LmUHyZ2;bFkQD4tt zZV<2KwjjM_rW0n)ZOM47-x5_>X$qMj!i^nxX2TlOLrd8MgTC4Iso#CadfiD+s6U9;H+|SzyTZ2Q(@I^xugT*OZqh zxZ;*BRw)60ny^jJ`dOLS0{$jGMUik@1*R1~d-%OeYmdt00#35kjLP3GDxT1?iAGwU z>nb{(AY;fYpAACjv3rb*SqbJG@ach~HUXNQs8Fy-3$Gr}OTbwSfbQ z0;ccmJ0}*n_h}x|bmv&xijxTmmtMa=yzM!;2Klr%{2=*p7>DvBCvugz0b#^NF zt8_oAp!4DQ z7ZAITS23C1Ia+O+b~$Of@_*AO>=_K?%pTFV%8^R2e&M^Fq`M=Ii0LCC(MU;<4tgBa z>f3hlTUU50H(>tubhkFphp~;TL&A~OO=fhapD7H8sH?aB)1uRkTm76Gnuh+cjMXSd ze}qAu3`NJ~#na3wh2J$5J|Val-f>C5!^^u58cR-2Zo%TN_eX<_x($HlEcAUmEf94h ziU1ITto-y;#gBN&)Bf@panr9?Xy$xBJs=kI+4nN9toUv9!w;PeX;EN5v(dSHTk}BV zX~9VV#gObf3ZJ#ADJyLCb^O)GVgsk!c|jyUzmo4SU*DQ;6xRM6;*Ni3LkPjUUb*|y zOf>r+#Q)bB&I)>K``va~!)}~X@fKSg8vS=&(o+zJJ|4+v|4Qf8_f>PmSC+hu4FlsR zpQIEJrb!thkmV}d}&`fQV zJfKg(IE3hOFEFM3CrJ@|j}m_;e)lK*XP>=0WA%^KwLyAO?70H{`3PX~s{M{IQ_R^= zdPS8oDmLI6Z@$Hbek_N1K*8u9d(p5swn7 z5}*C|&OC|Gzn=W&%V=R&rZ~K->cAS+FUbhO5(YI zF*JHHBRu=!LdV0@*{G%Q`!o99PD&Z9o`JHMcGTCvj$ga2#qN+R zSr>mwi4-_Edhhx=ZB3{}zaG!BEas31RDYh_*c)C>uU$$95f>$m%wLQ(Uo?pu)i}L1 zx||})cg!(jDn46Yt4LwnTXufUB>tF=<}#*UJunQ+@87av{17! z9=%^Rpb7KoH1yj*6YCNVn)HRC-X$Y5^YoE-?D1MPNh`(O1Zu72v=srB_lF}^$a47- z=bGDDlY@2xA7i_LQA|NMmY$T(8 z0Y??a!9=TW+(!2sM0PSj)eS>qe_9yuD{VxNlw$1bnhDe%RCh+8u*n5Op+p1 z+Bfc|MVY1D9c$fJoOaA)LTJZk)tExnQcrZUMkqAA=$8)78(El-ja0`Sml z;S3MN1F|RU?2%`ytol8V^X92C(04_ZK+s(Iez7d^aM`4BXS{=?y=1;9V*ne9&_h!9 zNkMFSh157JF=>HjbFLz!(~WrO(+0`nZ|v;`Fi|{mN7s+S5k>8B%|+J8VwGiv3^li8wQmzv7_&1 zYmMiCX>YJiw1xn_s&mF>*e|tO^@RPb*uvNU*=5qSJQvQz{?UGtp31WOD+X?lp;Gam zx<7l~^BAO%fbi`XN{Wi44@4zWf{b1Lv(V$8#XcRd;jD-9(+sz_9?+Fqrx!tJ-+y`j zW4m%BCW%RwA<=+kvkPTFy z!&lxTW__$dZ^?||9#|h({(yeHoiNe92`+Fr2^_Yu3~Cd zc$iff?7fM6S>**6?=XOvzU2vRz#2dgeRY7k7X9hd0rI)pT6>dc@E|MMznl1Rdbin8 z&G}KpTD7P-|FfVMH>{`@;gNg!Zv{!Nz^SDn^6zt!g)`v3DA|rsw;=W^X4hx{yeA6KPJ~|CnZCd}`iqrH^h#ID zNUtQ@jy!6E2I7wy${gYLMl@F7x%zYl@N^iCanIrH6zBh8U3iK8vav>jsl4;xrQumB zH^9)?w^thC)sjZ9kOX2YmNqkE3H$_lXO2?#R2tb7m@(g>Lqlsl!^-Jbw>M;vMd%4N zGz&TQdZin=Cw$OTX0Ze}ihl zDQAI;?@MA#B|W7p8B@*k@VkNF0skZ(_qSwI2P=%tswOtiE7vG%+3F`0LOB{$nE zB-Jfn7lCgKKI+77B+bjDx(|3x!j_Vd03aS8pcDM)7I(F{a@-7hgdToX;S`9*9KRg> zXnDY*GFIdf{*|jQ>qlc|Qa3}A#;?L7k&^3~mL3SraNPyAx_4A1q3Ys27Y^?l?vi+iS#z7|&}#v+D00pJ=}~RoX$U z{^O>1j5a)qNC(EYwTZNwG?l;}Eof5K4;+mBSZg)rJvv)G;MOhCnbi(sz`e}v`SUNK zD|1m+@j~4kqh+ z3W-Jn=iNmC``OUQWM)V(-ZZuqE+l#1@9vB+N9(s%PJ#peT4Bsp=~V)G%h~eEtZ4j7 z6=TZE#Sm?`2NJx`-qiExco&Ga>Tc-i&)VYgfA50*&w|({x5RNj;#}xJcc!p(|8j4o z)svoTJX{OB{Bq8Hpd_MXHRmz@{KrBv5MdONFj)#&;ehzl?fK9{a**tO+IQGc?i1Ch zY5jhNi!c8cpyrq4vQ`C#6p=faOC9v66XE%a$`oNO4a}>61+5se)dN#|*pN-oTcN5s znL>U_gC_j%)+#GQ3phZ2$5HICcv&f!@^5R83SX2Mq-Y(FGxrh1;yr6OuVCj2Xa?VN zMR*Kzb=jd3U;ujhaL@lwc~(Sx{hY;CTh#YbD)!}T6qAKI%T)1iVsl_Xq*jG?8K5&j zbgoh__<1=5;;aR+$SCRWVPiSy89Vx)3Cza{;Bqq#8J~Tew~qNzlf&~GNy07GeCJc{ zl(>+41YtPCo(= z0l2TN4^|^HSMS%y#PU3g>2J!?{Ky+xq1Iq^gy(mZ8|mnIHQ3}uR5g3yJTjWWk2qWF z@Nex;JL$U3cb{+ZjvRxf3jIw#ykBk;)TyQg7_K}R?%bXpPTk1mc(*&Qi8cD=Gyzx2 z5$-3%aKvIu0Mwl1-x~k)x~~7E^)c8A3XW>Z*9XqX2HT=pSJfDSZCVo? zzBayJsxhu4(7EU2p>Jo+vYb~o5I_x<7-h1YV|>^kg@VD4Vw@d-6VDiah|k+E7Fk@{ zl5<1EQ(R+#pJeL|1o_8TM*RunQwJC}k5b9TrO0ti2mHfxbRCU$6+9nBg)RDPg*8$h zQD41`riJ&h0GihIS4h)_5Ott`ho^rxVy3cGOYN7-B7vvr9Jhzwkfsr^yJELFUn_0Q zDx}QAO27RK;5u}<62Ix~XO=T&LF&xrdgo)|!|8v18F#rT*bU14u24Ab^115{pAKNq ze%wD`=)un}x6YmBAg$i7-mPU{KhnB6fkWQmgoeOQHra*B<9`r{#`?l;0vkf#Zo(s& z_qh*WX1UlZHczS9_kw~T*)1Us^z3GL;TXF0h!^?^dNVhlWd~pRb-z|ElS z53Jo+1kx^dgAt~1Ll=L>@C>(PBHBDqzTgSeOMTwb*z*JX?)n{-(voM0hcy8+ZMFzO z>Y*n4`OZbQ&DEp3)o$Z6+&n|g(mPclHI#@mn+pap|TRd%4jp;-t}SXr)&SO(Bh=MlFX{GstKnsN-c<$a$&l^Z}3=vNHMIbXvp+p)MkJIYlEcooRO?1?8%Pg6>ZpV|x{-{_G zi!j%cNSZ;Z4R~_qKuvQ6l!ND>HzF2A^1DPS2WWMGzJ4-%58A?y<}-v%nW?Wzl(T@$ z)=S6}%e$Xy)7(y#(DBq&aST%v=GEuj;o$cJV;2|U|9`ZK@a*4@Ws5FpZ?Ge|iMc{r z16D@UVBm-6Eye%6r~4eg{*uor_GNNVhxBBt!^?35YJ+-Bfo`g#$Oi&g9sNPwM}TIb zt3{T=tfq5C6US*VV1zm5vgB`Ys$o$B=45qX5-dq6&jg(e&j9)e51=wS*Nl1a$9 zl9u?BWR|Ps7E*#H>!V>`uxh;PwtQf`W?n3l@``-fZU~KH7s0Ik zP_ZpBihspirr^})V+$R-Z9gza%)d~!k)Ilq3fD$P1Si2o9+@d0+E>z}r3hvO&ha&t zwxlSjABP+xMnK^fq_vu)j8IwYt&WkRv@Vw{`MMJNnp)OS34&g(sumrdJ_8`P;>6!{ z3*VS^!gYs%Lx<7I$ix=40-3=ahX`{vwAw|Zh$NxJDYi^>nn_X#N<(&D(~usmsX=y3 zDiQ}!o<-5Z$DVb{g#D0n1v?bieBOc{pl<)N$2H~{UvF(mJ_%~Mxd7`*>`bw910Oj5 zxa@#K-j-Tm0hH!jDHiRo(<7jj(-R-T!8Y^Kx+3rl>yr&lO{e@Ks=BUcC6ZWLuwY$* zOspdjF$r_Tl%clBeijCdw;Iq$UZVV=@A1L6)_<4Jeytr#_!8LN5xi7uqd>*ys24f9 zGzYtF=PfM6A1}st3NgaJyE!u3t2e7kA+O4gV-@;iRV zX`=7xXwKVSod6CLtXCK>)dOHp%iOkAD&LL2L8;Rh)0e4AAPw0qqBLMXdK&Z z{rCWX1JljZl-U7wBb7;!4hhiz8S|bK{k1elivEQc1;2^$lk1~J&`JDtoUD!U5z*-? z_idUI%$HQ@E1gicr(k@XH531r*bikOhw0nLsUMYM)?)+S8&k2O=3L5J{@nRfy%Z`` zEFi~P0o2FlDgpz&DkG>P{&lBK4Lmg<*N|8A1^&`Y9m zS*{T9SnETd9=3PVu4e>|r&7extN~R;y3#KluZE`Qn;knN^w!<9A*V|HqU#Y0RpjX| z1kba{=E}`e+@{+?S@NZE#X&3xOT`H5V{)Cj*!RMOeSLlUKwH}>pCHQ=+rtUxIs2y1 z^Rz3yF`Cjv**$vPYWYLSyO_ z@jBb8r^faTycMSmi>|muSd8T55xG1s$nD?a-?0r{M5k2QN(c3{?l24VIC6HH z`X;p2f&t8wNp7K>Y@Lw_^sGTes(NYkwd=Lj>&0>U4Q6qppV{WsWR%L~4g_l&>+ z%+Y*Iq+hay8^7l|Szj8r3iR8g0_6UtzpA9~@o{>^3VC!-gD%rut^c6t2Y9Z8KHOa) z9>T)HJYJ^gWg@}Y>~yHC&SlwK8+`Ld@Xi+trDkSwKJyp^6Wcn|df?I!UG)4G#5P?A z)e7i96!ZZSA_lag>6Rj6BoeL)$(Jg{=1k4EeGk08$~IO&8w{s>oO#Wu?|2tg0xqFx zEvA`mi$T-80pzVyK{Uw$~n;-8sz+kzq#t;9km%{>xFa^S7J0al0Up^}@U+&3lXXeWdh?@><6wkNwpC zNpn=^^7GUt(|ZBFeI#`)gjTnb=}hW6m#uugccP2Zq*2Bo#f-Mrd~y%}H!))4y9J*6 zfmot~@j_e7OhA~{58UQ=NVZ##;Ax2wUA3S|?s4X&0zrZX2*F(woW`vaTpI}PZVB%0H15(kfyNtm=l0yWGvC~`zWLW{^*Mj4 z>QwF8`+c9CqpfH96mb21O@M6ej@h&@*&t)0*70uF-LKj!$2GS7Wz0wX&d+*C8P1#Y z6}~1t-KnC4Zn(ce>libiZJ9NC)ae(0b=%_wjYKYQuKr%JuG% zoh%QOv+bt?f8JSv+G&fKvWqbKA<=&+2s%xaRxH+!nf^uVB}7l2A&-#x;@nI*nnj02 zsq)P5{_NSgP6dX9x7n-j<`Kk=t8qUqxPHH9HZ!p1i1m}8l;lsgk|0Ph(N>${Xti}k zMah^?nZ!1*8{5aQCxrc=c{~nAI@;MEulpoSU}gF`nudnu2@VHoZ%ZVT9c&;KsR}AJ zv98HQJU>2OhjHAq<;oFUI30LGAO1ayH)y~5{6(q^gY z*(M3@fYFDV0x3C$?vTNjB~Q2IpM0JLhXYW49Q{b+4L?p&9$UtsF`dxtDH4;p^F~rY z?K65y?%pgiEMBWwy7P1(t`9SjQI}sWslYc@3+|;LS+tR!hTc@iEUo}kPSp~iCo*l^ z_)u=wJ8V8^qF2BH%Qva-iC${+AdvhZ;rC$+GFUCwlNZwiB$u&fp~Gc~^j{3GbQrbS zUv7Ra>RJ-JjThaPk@P#X$y@9TU9vbQfhtcyg@U#at4iWiem=@}0j>>oY&fxp?c*6U z>d8!|VjuY4o%U9_tZRK8o2$RZYfyd8qwS^U#>+;0G$>J8?|A4x4!0}G(iUN4Y+~x+ zZ}DY%W>}Xs&1^Ya_aBPAHa2%hK65aCSjbX|0;>6>tCSQw z(D#WHTWl#rf=fJLb$BHr*Xc>?xiEX3q&w?Nz4%K)dffmquej|wHA+*#ayM7jdfbBZ zRB4_a7`BYctO7kTJR(Eu23htehC?H}LkXB2?hfj6Yihn6@q%ET=67l(>b2@yltNtu zt{%*ZY21tQD6z@)BgYz4Jwdg(JSJV`G3~pK=lYk{OZ6Mf4d5Gz#C$anO-sDE2kGxk;zd$=D>Xs^+5W~ zT4B#@wZ^9<^L?Q1&j%t6VdvVf3wls{YIn-!sJOM2cI>`RP^7!rG)EfFpm3xwA+-qP zN5mMtWgjHDU)lWeyl3+xBZk&xhfIdmzj=*BlObupxV zZQu1u-}zICY7V|aF{?Jt`=z>!maL0(irOlfji1K&ZYBW5V7~qmNqP{pWk;uRY+dZ|%SE zww>gnG{w7wAO`xIW8wuE)!FtZ6Wzsr>ynZTr~B)BU9H*7OULOq`c09HuGx5yT~fab zinZi2f@Sy%Ya_4OkWA>g_L<}H-%r>Sf;fLP?YodgEHc4mXtMU^eXk!RVj1tC{cW`T zfM>ENmyw3r*h4%sm5T9JnsidTjR2<5!N-+jj2#hY%E$ZbxAz+m^pm?_w7<+?Z^G4^ z8S(22pVpJs)km`S<|E#FSd?!dy4Qu2KIqwmnT(-|IJy>e#>VU@e_FP1_P@kqX#c3B zdtGTnhN{tS&Ni75Csud-6h00FPC0JRvR@ybs@-Sp(5>8$^Lty`@jjYPt9gUv@qGDx zMSOvt)V>Q~I_k_yLQyWg84iQ6=9rIq(9Oo8ZzCNHvXNw=E3IDZD&Skx!~3a&>ltov z5K^y5ay>uh8?^dx=+@5dBSnsd2>dKr4=rQl9&3!RWgec5h z1T23YVa0iVBA+%VgsVA}xV8~Uwj%&vB>j92QWSk6O%RIgi7suISy?|abv((P(*IbFhWoHM3(48Tpe>3cCt~wR{S9T>TN+(7tN5wCct} zJxUQFd;7Xm3N;A+__Nzl(?H_BZacTZ?LAmb(D}tJHd(mrU1YCmcfooaZLC8TV^D6} zn=nX5fXY_Z>^qZdE&E7GCU2%+OKM5ai`*ybu8tF4Q?#a*l1 zcQ)z7rHlMDlb?Ol`h(MJdw_iJ&DgYpGacJrAwIxPt%*TrF>pC1SN6wEQ$__vf|KIy zCtVApa0x=!)cmnT@HBen)5sfB;nKV!F@~MtFlY8f`lt01U@NcD9FJH=VlX zkRE#RJ39Mup7UR%Plph%2?di!t?~~^$?c^6=urtSyA^Wz9zhj}0z;LuQHT9=`8)E) znyl)4{`I{yUsYW<7hX5G*HWjt(R8)_0+g@=BMxLoO$T!>c0`;6ea|}H-=D7dHq;+k zVW;p=V9nZeaz8rITvD^o*dQDfa~Km$_nPub&J&7ETL1U*$7TYA(vXvnkQzw?hnXb1$s6I_3!Qs$P`6ZE5$FkX~m!2_-ZN%M}im zDevjH=$o*gu+Wo#KC?#JH6W~(ENtQ^-}-H2a`UFZv@dF^WT4X@-DGcifNh;ir$+82 zlEt8$38V@P3|t6G*gia5Zq}r-kYVct)SJ#8*!J2Z&(C~EDuy9y)_t`yoIzPFWDjI8WGyt zdiiWE#|A+gX~TI+4D`1vikaeA%wq{T_j?*?t$L8N_(X^O{cn_9BK~ko?!Oy1;oryN zG~s5u=5dDKx-w81SytTebNiHJS@z6V0Vdv94KfL`5bAvMur|GF*bnft?9X!Ch}4Ia zcs=hOmQlUmoreV5pPd@1+3Tr$T56k5{&oyp4~-}9h`Mr7??~WCF%kXE$Us%CaOS)} zZ3<+BJbu>OR{2fJ{ZdFpw^7{dzZB7S{Opiuga?_o$*SVGOBD@9i(E^Iw#qYKyN$C7lvB8kyqHO5o3`nVNnud6h5<=z1%@ayEEAk zH~d<_R4CG&Bfyz0$P56F*I+;^qVo$GC>c5@z=OdtTWnf?ns;&;49mmOwui3%5+aJ<}c4*v)#CsnLCcg<0E2R?2ELT>*PkpU=_cxO<0J74T$+J9?p#c_*N1~d6 zu>!nlzr*0pO86e|E#vk3+N35UMhi~8pYvFWES6k4LEjV-jMjfOl8W2EJB4vUYkEOE zK1de9s9}i5A0hYzuet-<8>nNZA)jliIo`CEY!qp^E(2e8EFD9&N+a^vPHyFh7ZtLX z5yX>bBa-w11(v{qb-=79MKXk%YYK_kKwY{qbD=QyZKJx`UFIL(yw4M0 zQ(=Q+q)QUH%0|tQ@_7j^4_YQqYkA^b1n6fHwmnYKUSH8Db(1_=VxWy+8u#CmFNr&0 z&1M{D(_xf|&IZujf1~p~zH8hO-Fx*27j6BUm>5ac&N`Z+OqZ&-BRIT5Jn)U7iuarX z@a!g>#0Ywi{AfUI7Tn3qm1)6^3Yv2J#Bw$yrr$fo6jMZKuoBAqHg>UiEI-gDlrBUV z=Q7c!9GfI54v?E^Ssa`$|Gkq{fGz@DJ=V<60eO1a-kd!IMKRlzzJ1hs-;Z-kxPF+Y zUS_X0h%^Yy*26Pfwn9OZ>zc7EL4Ujyk@fBAMv4oaE<`c-4fFgoh;{K=Lgw|pd0Zc_CGnaDg*CN$UUcO~0mG0rskhwRDpYRU zxls6$Npioup~~FM=C^F6_px5XA{qnld@vZ%3+N|nu-E$OC>zCIoL#Q`Ozv&(s9-ew zur_M=7C$}c{e|#H_Ci|cZ(QV~oIR8CQ8@zITvCER3K4tIQNZPvl%-=8AcU_LBW|{b z*KCk(TIQJ@mmWz-PD>RUuEYvOwj%pk;6!v}78gZF=pG+_CJT8tEs+pK?E7+zDF z!;aMP15$IIb|}iyLM8|KCrPf?c*E~*NvYYcY0~UDq51o)dNH*x&1J%xv9(iDDzEun z&tGr{&3_d~*Q|FXmSy?f9HDQ)1wIjtg7dAC2abU)dC^8ga#u^pmqg6axdurCgHuin z+o^)R?(Dm%aBaK&J-m)Lk1i#{v58_Iy#OyTtf*vu0u>PfJ%*Pa-S0QNiEai$dg6!1IrJa#JFXqS zYxnWFXxQWr{>CvAs1{Ss)-Frx^{t%|VG$~Xv+MeNDr=>=uJGJg-1XL0&A++erXTsm})0m(z_b7Tz*ibc8)@!?yL@A4x_-DC* zpL*?fh1D5dO%0kjt$4zh3Ag_Jn>j;`V5tiwEwAeaOgN!yUsQ65<*J(ArYAkG#nxaL zzo}-LTw!ISL;O-AX<^FA4fyU^$}h``t0lmF8w@r99;I^Ue@b-E`WsAIb>JHD&ViYU zx|Jk+FgW{YP}EUOjYGBgJwXay{|o-Fwnd(^2PW!Km43;*yU z&+u(>w45iKleK)(FdcDtC(ZX?tg)m*E|fXzKO~4gc<3_*sgOmY=J$>N3i%U499r0U z_T!l2*ka(cC;M5NfIWM}DUZ{!|@HP;v z&=Oi9=ub63{V!{jpe&{`weVI=ELG+`TWX#j?R|Z)OimWsb$1<8%i~(_^%=(B6ReI* zS3&q;=?tk8-Ooi5${v5LE0diRDN>CFbkhXet{FM@F2LK1_n4N1bjz0m5)Zp$yuSAz zIkamCy~3{6&x`T*SKAH8#+NIMQNNbz1YRIue@tXQHr-i;G1WY~zriI?9>|dXr=QDfKs)-Yygsp{S zkcXJzx`9-90AL{qHKMZU>084hd)+_o=f*uSi%iD5KK}bJ_}J z2rqN(L#RbYvGTaM{*aBAmXhU}w|6<^sC zqZP;dwd~02ea$18_qV(RLd)dRf@D*rNjF(62F#Oq47zYq0mrzS>nkvwDe>))?S*i_?8tihfd>`AA*c zDf}Eme&T?3(rq+V1L~{xU!2J4|44C`gYA(nSfae=#r!%w1~K8ND1W`WNsRx-@c1@0 zym*L$9``;f95<8co>Z$UoFoSJULW+oyq+3Qc6as$9#V+mc#VD8scXP6R)psKNRT@o zB$%Bo)eZIlZRHxSiitU|J~TY7+&Nq=yCD*W%*HarE0K41Y^ryJNOsIr)8n} zTOEe)NRz{Jqq(Rc)8AC)Y=y;f|7=|(IR4H9zxkw%)O#gYHb0D$#p%5+F7nC&gdr22 z-P{*ZuPGs_u?6e>18PeT9rPig?48b-Q8-8b_c9X%SjM59d(v3>KYN5JKB{L?PRz<*>nJ#i z)KM%BTCBy)OLWo{`Viz^uK0gwe*Ez|n@nq!pCXFmo?iY}uxfH!0F5F@!wk2Ita}%ek*%0QBW=By7XtK`{j^)YnTrH!iREpq&j-=DD$Y_S2t;KFVrf1&p3{iFRuDRb zX3`+ak36NqTPP+W)+Sz~+b@q~to}L>QpsVO#F_N|T53#B&H#-*-+J z1&J@l%Xb(KQ#AsHCJ&v+ixLDcx_(s9W=tMfp%zDk>Hd`aBCSt{7d~Y3UJ$vY?I`y4 z@Niy=RRYp&NWQZ^TLnKoXf--9*4Zu=&~cB=x>(uS*%>~&Yd}g%_?)ImYpGc#C$O}i zZRZa#ZA6jV=n1@8Yl;`HtEM3z#EhF^guf|E3P@1*pKvOnk?cdy+T1bvIB1c3+GA5< z!2kZvLI*XZ9x9+7Z@F(L;)KSiVVoBKHmz8}wEw(USbsU<6ip%}$MKq;RqWb|=F50ASXJS5xiL-BITtRlI|wx2?lbut zBmqC!Z13(6!2PRu8DfE$EkyiPxznhDFw?J`MK{Vu#U-8MIk7DWRw)`M>ezqoy0>3# z!g{(qc)VVBE65tV1}sfj@*PrDYLDrZDWXI{gu_I}Ei_`mBAmR+v=EG`zFgXc7lxDECy>9~{?xr$CsLJ9(|F>bD{qaL$_8S{ z{1GC&;4@~t0B2E=O^-%p>n%>an{-gz4FN{7)YfUhGBy$<36JjuTWkW#+Ng)EtDcE_Wc&;=tb1cz|-_I%erUDVBFuEJQW z*|qfY>JCYo)^2uAaW>)Ult`~Y%sAM1O8(T0_&Vs)gsD4=E%n=+ihSr4udxODb^gnu zcR=EcLK!-jZ}`ud(dpd3zsVti(t4V6l_d}w_4cj4eVnF5k^`Byhf8*O>Z-3{@ZX;>wJlm}B;~yC2kVbIx7#jRfKR2y4b7{{OBwZ;5n3*h_1c(io9;s zq4pi0tv-EPt#jxha0!KQ19s;Gkvdf)cG!QBE%ZwVZ*9bD%u(?eMPnKk^Y<3l+$YW) z1bHai>DLg|V*GWF#HHWjhDM8kCRox_tF&L_;f_&9Dl{^7QOc{7z=?+kzR2|Q5!HPW zi)|)6>H+8`UYVRQ;3t=4bRwnfGsS(>UW&c?cJupbw%@-?y13LP%+JzNURJS%s)~hw zO{qqQbtrz;A(|}Ww-&UZy0lFVfrd#pc$xsXXwv+eOsn6p4E5!A`>%=e;lF0||LjsD zv?m|DwmuOf>|;ciFnU05T@+K<1<*m`C4=a4*$aE(^zE4lFF!-(Q&m!;_*_1W?3Ch4 zI~4y$p@%BYR2y>7&eDgx(0S9fId1;KtmKbUWXOQ9W(oo6J0Dv42aGhFo{GzHjH3ws zMp@&;=PpbX8l8Nsxqa#xG!eMnqV`{b-Y&00(AQs0*JYKhzn`UyD{SZ>U9HVrn@>-$ywcS!ZCx%C#BvIC((^Bl4G0+g+&vJ7B^yy0adQd zVW)}Dx+ahQtTqy4KHZ{TPrBX03*ENiKk=lmhkEGl?_(UVdkqWLo81(9X{fooR33$K zSMNsLy$=!f^l#OBi#<-s%zq(ab9YHd6Z*a!G)fz*0IoM9@^Pb`xUuZq@Po8^<44{| zIEgacMCm1$Ug`U>mY*!mdj9W)=_^r2Gg;+FC+@l=fc}b$U#uNST8dF zR|qKF{F{_QOt>!02}?K3a(LEUrodvjj_GF!v#Tm;1jDa|1U@99i$RMHfa5P3T}^~tIjx?wp4AoC@|#}>p0&9(~#@0<3=0B-LyW$#_l ztF>6eyVt<0Wr=mEr%S2(JKQ6v1b7q2dmpR44+fs5SbfyyzCUY!#LdB%@_FaY3{d-Z z#mEU_-dtXJ&?lQ#3}i8y+c5xg$F;b@}Iu}}Pp9{fl*Vl`{1_(s7PHX_x;EAAO>k^bKz zxWK|yPosHJ)A~#T*J`$%%8$l^>E9NEH03x#OD=p7sg zcufw??n9Cznzthr@ggP5ML~(KC+qpgcdaFc`u;U;XYR3|DcvC_=$+61vz4Lt}n)x14L=Ia%(xb!unL*$qS^)umDvxDz%K_ z@O5X~j~>6d0%BjI7-K2Vpr7ByEpZns{54a;X1qY=pfQYwI@OQEn+a!SqsR&o+0W!X zb6m)a71aX2a{HbZ0$((KuHrxxhA4lRuuJ3ciHrNr+T}F{$*LRdOsYkEJS$c&q)P~) zC&k$nBXq{F#JE%$U>v}PH|X(UH4^m3f5e$jFafMm`6%y|*Z0=RhLus}{ZIsh5G`(F z)#oE8I)5AVNLJGWu}JnrrFbaPj&H<sHb<_&97*=nH^i^* z^C|9JoYk9dA+82bg;>hw{6NEhBPYZXcMkcA|E+u7&j?TmaM^r(xKp1yC|o4x^WxR4 zp>Hx+C3TukvYRJTaa~3A$v#ey@52@l)`Vsiw;k*7m+CE+?<@} z=H})N4r_i1LqkKEaU|RZHkR97=7Y$t49?#{CnnM)TPtUWiHU~a3!8!9HthU-%ZsL* zbpV7?#4nav<##3_V(04SYOmsa{6nk-KoqkHY14rS*!>)^-M_itMfMB?is)EgfrrjrE1&`7~;&meqlV z?E|PP8Oeqe63eV^hLb_3`{wDA27I&LB$o$^g^tcA<|P9PiNZ45C!kDom=_qU>FNi< z2>B$Rj-i^GAChZaUoYZw>)gCrhHHDM1*Nd;m5w@G=#4+J;ku!YJ@6S~*y>VP9$#jM z9kEg`iwP;-0RPTC`gB@(X8^7co&V~M4r4bsF-C%>Lch?%y?!;9avVN0SiAQ!mJo}mlNy6 z&f=2u&tr6VofQ4%6MfrhVqW#_j~*GJ(?2rv;J2aWqLA@1oP3jsEhlqP8Y%jAp3O)Z z%>7H!lqdA}7EemI_Vmkjt5^9GqzShUXf9Pjo{eR=%rmoLrLVUa_`m1rmsT*MgiKJH zKzts%q%}4WdwXX3z)u)Aqnzzq-1Xf<Rn8C#xnqpcDQN81qd7RMle z>gHLH^^sl>-6?k9!B|bHVNGP^=LQ1$(+h<Djr_f*l93`iJl?k^w%sPnf!d-sQ3xDhtVNT<3;~ zoNduOORsak`;6edK;`8Zdb#ecn9y?P0(`?D~iy#--G1Q|(KQ;l9dMX=+cSea}c!t)?W7o6)|)z%1ildW?+ zk~T#)3uxS5!NP1Tf!}rAm4IejrR*r-hO#8xTM45!r$ey9ahS}N*i9|*`2Z}nr=4AU z?5+{}*m}Lmrip18)-ZAHZSH1B@-NQ-ycRjU^8X&*>wTUb>$tJC*SFeBtJ6i~#s-;f zI}^=r_9Jni9I9TfU-K?C2g%N`x7FIBe3SV~+t{j6R2MN0l1VnEw;0&LY9TTJwnJzR zD?dMfcJV-=<#ToSf@ggqtg|BEUD4j}3!`n(RP(+W<&8iW3kE_NI^skR^WiMRz&s=j z$h_l7YMkcBDlEsB0UmnU(5N`Jq}4FoqlZSPS|gYGiccmNFtd0wIWWF7ws;gVBJ%RKG#|ya6|9Qa|Jl`%Z zXbW#dSXVY%j;{^HUV#BykQpj{Q6R-t+4v+k=B&4UQsw9!p$q7)!O)!t=(E*!)oGQN zz9!h@dOs5Du9fjRQ-!1|<7$!BklV5Eb4l*~3s0YB)54R-1VV`?Hfw(1Yu76QWa;Ri zwjbBNL!iq4Y|WNYw<2PspZ|y^qe<<+gmA@Ak-XLEeA0p8cZtjW0BP>TPj0qN`>?VL zF81kW*JKasRMEjnC=CC*X+!$R2;pD4luCtLT{>i_o*O5bcb1&cMd{-r$-ND--Z|dZ z*-z`-yMf2RGNPCAw5zer0OTL&@IMyi9|(P=py+9r;h&kwX)ONGyK2-iB$k(R2*9EO zRR?~8W*I=OzT16ZAeRj{oF&4}{oO=d>!P;WGc4PVS-xi&+oMQogA<}+T#T?&f|({> z49*ccYr7^lFYTou3d|{49RO$?AncKjIN>RvK5(MlG9xXx4fJ|=zo2O7Dk#B>Dp0S^ z?mot=;DSDjeiA2%$Q7dfdJD z`91ruZI+)rQ?v=({2;JzC-(34Iw!v9#$251XLwkCADruY6FA{2FS-KPE*~U)-dPl#V0p;Y!I|ujVu9bMF=t+9XKPz}tMoa^ zw2tN>pJ#hytYm3)K7BNC)a>hbbkX}`(nv;UPBwBOPf1&r9sl-F?PjHrAx{8CXnZ@_ zgi*LoSR2ETJ{k5#m2|c5F8V|6v0Qe1gL5N(rMu4j=P~Tfn%h1_eT)5H-q9+0W3iP( zp60g0OZi0#ooOaz^}T!#r-1AmTpl~D1Cu0cD$%hC{Q~E!gAA-Dx1UF^UhX=-D@{0h zQ-8kY6?a$mE5$qoWP6X8yFi3$?=tYs#AjFhY9Ic4u_ijYD!HrJc4cC1U>Lwea7V~cD%2F;jJ`Y zF{kj)tSX-oYzR`#Zky|-)FjxMRiY{PXT2mEM(r~wm&K>=Bik&vcMtFlzwYB`N#Fr| z%bF*7QJo~UCOpW_hNqHuP9w<`KHZycwxqqiK4M*e!82efj~9D|^c*>xV&bg zQ|Bp68k%buHiAN%FEcE;MAwfuoR0`zn&{jrC^)ti6v#Zl6Z#M5c}0_ELp$u!tYd5= z#;9*v(p`=+2nMvrEIYgo^_|T`>+CNFYFlK72lFEteud;uHqaf>2QH&|Y;zm5g~{=U znz7Lzxht+Jh;KKlZk+{2kGyY#nw-`~k5~WE_2cEgGkq1H4scr!jk`;qKMAJ;yX}uY z6?Pp$|FwG{eO#7F_il4j=5BCcDs~XEi4;{~z;Wpdq~ zfIECy+|<7Jc(qcpuce-7QF)AZ-g912jML=yK{}7|kW$zUWZMar2Ph=bG01c{$#D<1 zGm(pIO(vXd|H|`XFHn}+Kz;1!U*0aU3wp*hwBr#z-7b$l90r&{11(9Pbfir%WAcy z{csX5Ruu5Ip};1JTAUbH>^K_g7SQ9}A8kBo=@-#m$p}2f(Tn1;gXNq>wvEG(BB3G` zRCJskqynS%u&nt|^23Lpb*AEdo6X&i25IF=SJdR0;($?a2*=cEV}s@Dg-3%Iq|s2N z^=@Nr!l0Gc_mt41P?k1DnI1LkUY>}ULmM&=BBlc$(hVnx<5pu58{L-NB#D(i1Cf+< zO_QDR(t~*mwzxabMTVwFlbZGR5?t5TM>({1Dy@A)^)uT8eG1%j&yoeKk#^&1B-{x3 zW8cuekcflm@#0cuJ3Afd72|+WFrvc}$J=wdFym&aFS>xJ<@=xKFB>Zk&kiE%j=mQT zAJ;@Czf|A>jnWOLG{5md$C1VjYZ~r=U)CfmqLr4GrhGuc72SRGpZA+(o9EQVo4OBM zwDP)8HYSeN&@l!EILi&WsF8l^i5a$d1L>PaqciTAVr4us&u31Kv(~wV+I;D{NgN47 z75SUiINNzfHVF*=cET6?s}8bWew|GSj-5Xo@UrQywbZFT;60whL*0nmEmWKRAR*Ui zRmh>rb^&JirG1Tx$6xoNHHnci!G<2hr1mKf@M*WpvGoG<$IOCDv|)R~Q25 z+6{-3sS+ZCHFNA@1*?wnT42a6V*}>MpZtEM11074DrH30rymE#I)JHW-d=CM+h%`?uvn-P6*=h30(3vdHc$b8e8;huN(%%0r>lZVjoRTuzAUpm8% z^*}897o(pEj`UlkE{Gg6$RxLtP)!X-W|D0m%BPl?CC0kx{AX6Aifbn2qDQ@QUj^Zv zpS2M{uM-wfw(q@r%<9IO;l3LKJ}%p?Mxqa0^SEIqcA{0Nji#P(S6jq_`qQQwOO?~2 zmR+-=F|2ltxOPo$m>_C#k0n-h$pu-aKzq@vZs(?WOby>GD>o>ey>ZXr>a?{_?@%~i z;lqH=ht}c{x;Bbevx625{Cx4tO0R|^!0fK*ZL;1L_tMWT^^@DhI^3e1&1cUz4t}S6 zpB9)#+%2+~bMK|3s2*YcP-!vh1c)uTAyYzZJ?jFCl@24y!}_(T)d_Y`KNl}v%T1hN zef5Z!)|V!03*t%bDVxh88!kAo!~J39E709RZ%eJk2=J-I>*@b~Pyd`4AFhK)UjwAH z`hLdid^K`(#Y*D;eQ*ExKlAnC#o4a&@{_dH$36{qu}rGn^wNW2IzRbw6@u#G7EDK|-=U|P)4 zbrN9l+v(m)Ea(eUq#Va@&~BPGcW&I{yUt%(tLNcoqF^!CDCQE`+YPm9NOH^~6F{_S zSbrNV?`=%X{jdu;H)K6Xs!Yp!8orIUhK3#k@*A6QK6}qR+K%~~3TNw@PHYJwF%G@_ z8DRN}(NMdzV0A|P6|EP|GIXar3*%d1$hZy!KZQ-)d~Ap?$tYEDP*RQ<^$FUKT|DyK zu~UZg$+q!%6R$MWAC-zRXZ%s1&Dij08t!r3-rs9%660>1FSN0-nYJ8$hk1kS$+^0G zLcsi%F!l9B*%fHA~aA-{q53f5NgwOx2Zk5zK49 zth#30dby7hg}BtuEK5KAj1!e*l&)PpCV^N1|K}7ac(sld-(O|ixzTVUnhgxgC2V~s zJ`8JnHNU(JwLF3oE7ML!XoaFA2b3xmqY`;@4iuH)xdp^Me421^)=znaUu(l%6AFT6_1UtC)9ySy$76FA>sy;$bO$7G*RkmTW94KxxC zxP_u&lLJUK|9pP~DI9+jvTL7m|Ck}mYdQ0ESif1b&5=s-v57vZ^7gGosc2c6wsT3O zERRB4_6XNIj?3ud_m;#5UMA^v^z*U}TUMf$B?9D`nZpn7c>Wb#X4<-5CG#g9u6iGO z-loul1qw@nOQXes!T&O=L$}i!kt#ZgKPx-i%f+W;DVb5l@f#$>h{HTEnegCZSn_<@ zi$DN#*JfBAOsXJ0=MVFiCz6;HupyF47;dge#)LnZlhcByka&P(ec$wR&p|$^3uPM_ z@YWr%bl(RqR=9X!V8RYNo0PmNZDF(}I@Kr>W@t)}@0%Td>+){DN=a7yW0Bevp>D5h zGDfm+I8R1swa98JN=sUbk6z^iva(;&Q;j)b6^m7VW4_e?)dIUd=ER8V!IIbsUHpSk zdMHR^-M@zeQQ25r=JUv&$ey>4F@qCftLgASI6;}jxZA;@jcNDM*0xm#{dPnPpAr_o ztla{WvJ-1Uc8YFuKglte5=x9$$YdqN=kg6|$30Hoy<57xXBj>dHzDTAB+E=6nsYJJ zXLK-Z?;yJfWn<_qz9Rd(P%?zFyB-3gbw#M7n>rk)_T;^CV`Q1qqLAVxtP+-S zzxWF%M&&A0FyZc>Rtf#rrK`meIgh8w8xc9`2b}?=04r+bttPbEsMVF0qL5CQ7C; zdrx|H*)6&Q;@TPg)$?7Fgk3mS9@^~JY>)1l>^zQePqdCU8?-P=Sl)$F-LX}Ab~~0V zdSc%}(z<`eOSA0=qTf?K4~=unD50p|zn8w>#dTYMDQ?#lZs*GjJlh@nF5WANnRVW& zU8P@f@Eme5N4Apk-du;(XOYl|s1cCyZ1u*d%Uc}3qt#r#3VYXPdZ@E7|5~rKTDe0U z{3y2a^oX0)&@e}#(qYKG;vdud8gRi*dPb^)Thj&-z~6_VSl&Mz7koWJ(K* zbTu_|kM5&s{hf8UWWK=&LyRtS;;-kaaE*XtQ~F?1IPpP8$?HNMQ1`cCEin0%P+Gjb zi3u#;h)LU7k+0FSR1%AO@F{`lfCfb zg(pMzT*QM{^*_^7nLyB!?}$0fRo^4$;B0T8(2R9YIbm#a8mpj8B*O1Pme=jTPHY;C z?Rk!XmFshi5KZdUF$W4-Y^kQfeK7e;KwYV0u)LhSb0k|Y5r<6U{MX3~{F8`?*Lj;w zH5`7dH(tksLf)wMjTb@<2eDCbOR!dukLAy^$oB&pStTgKPHh-{W16O$w@M)ev9E%3 z%^C>Rkircp2LFw!uD1Wx>Miv!cTz6qw?9iwdaf^Z1#M^ezU^x2OSNJais1?+gjkEX zAxv&%QKm6MF|~cOq-SNR)KV-6$jC&)v2mXzG<}IcSQDs*d}H zzDxyqWs~jE^jmBe==YF7WWm)WGe~6?Q=9qaPKCseub9o}`oF92y)jo)h3rliEUSvj z%VIuldJK5ZCHU;fnw#fCA#|SAV^L;dW84Vyk3$b;A5EAl|IS5dh*7GdB$MDX2GHS) zUNjN$YFmewJU!I=yz#oCdX~y7Q_0fn`mM)3M53lR;N0pgJ^_~fUTcUj?IwiO5<;cY z-~1MM;%#D}Zk0FoA~XMP^Z8`x4OLDXY}5hnkRxV_c#!KMlwwyZ9-)un9B^W zBD)x*SCoy%cmBih(&w9q>&9)J=GqabC>DMU_M|b%!p2sYjM-- znj@0En2$_wIZd9Fun6Fu2fd^>^G#&s(e+N@Zac2eWh#I78+I>^`s*lk8$2*YXDaDh z>SoXXv3wfpV^Nmq;zEmvv%UI{y~t;_gy)KndpET0Fj$jX^eMW;>y)pB{z-qc zAFRTw zlD_kcv#`sxP89e=E)tD*ki*#t2vo_btEd*-aI6tff;bT+Q;ys-n`8Z5T+!NaS*c*Donb|)#pwBtsYgJ?ui$Z!U zoK0ElsKlb~d)eO%F_@9ssdAh#n#%R{mh&I`KRt2_|hNlD6ebkx7vrvEg4#87HrWN_g%%WEyq zR-H|h<{8gX$d}Vy9S^|uKJFHF$@vId`K-Unh27@|un&{WomLRNC5*rM_7KU*_8bI( z?&)}+SsV5a5)Cp}^_` z-PQZ328S|5*jIHAjXO0($gRIz0Nu*jy6@z3Oeew)sY+q*4;e?P@l7GjcJ&9e>DYaE zc5xzkSki}9{1MKA`HN18`oG@`Q(Ldv-Ad8iF+eiJUVmRpV;XS}V-pv_ym-qd3M2K!nZzBlv7{kZdP z^G>GL?qQ_P+gEHTc@d26Z&1L!2qEQFgksQ=o_5k;Aa&?}aI@aGp^WCv)$frOsPDwt z|F}uzGCG`fDq(5!>rGWL`Y=IUGN%==X-#ahHc6({RP}7pwY)oRldsZsTfT(b05YSy zWqi=|e1AbTMBGa-*WrPDw;tmq;>u{YDL1M1B*Ggc7JgzqW(2jk$*8{Yn~pbGsRJc7 zoMs&wN*MQ|MCkgy0oCh|uSSzKT9thMh=bKV{jA#T>m#WA;w(MX8SjNEQj*)NS}6Y!UrJRfKI*phH`ThQqf_Mz+IB$ZaO zWQXL@ovF_|c1 z)9&VtF!27|yOj-cGo8=)qt(!eO>be}r?)Hdf0%mfptho~`x`9|#T^QiQrwCaYoS0X zR-i4e!Civ|cTHOyid!kJ!GpULcY;gtV8Ozh?<2qGow;)-|J|9)J^QY`&pPYlJ5KB% zwG?E_O#;yEBBoRy;9IPcwb5(3$M;n;0ZT0Nn>Qi)pr$qldvR(-G=|kG*hdn}MH4YS zY3)00G4sM=!i@tpHm8(&CY%vtu%a5HFCb-wCA~wHuTpy?Y6~efzp8h|i$58PQv+08 z(^+?#if{ycgGZaU(RLk@fN<5zNO^j7GsFXS1bL+6IrXl^b!G7 zU=2=_S4u-yCaHb2BfaxscpQ0o)PxwqW)EwlGJIt67#uO7*lPS&G#Iqa=KUVbq}%@IxjVt`Iwk)TP8%W| zMQmU5`NPx!XEqN1%00I(Qspac?0cbdwkNw%l<^{bNh1)R^BH*k%W6om`#tDrE2pfiVOe8i>tHBs0bru*z)`o4Rso-gZ_@T{@`n<1z)6xejf9BtG6M zbB?I0#2a#<_-J`nJl{@L^Shk$^%XA>*FQK&3*V-wsK^^dwF_rL^(?Y&M_<##tUK__ zzBs@TOY^ybIcwfqWhSxISKjD%GHW=cHe^+PV~6M0fuP8{*^*Q#dp%ey>|Fh5tr7EM z@mJM=9(&{1Om?QgyXl-W)WH{89Ad@~tcm>wuyY`a7p{^c-FJ{_xwgBch_G}#_1~*N zjD(VG>{723PTY0iob<&S!{r{fmSGVl5C2ks+uHPw@%wNZ!>3Zqps;%+`0o+HW)Cy+ zcS5?lmCMPfPxK>qa-77x{EyTc84YHyOHMy^)W42b)I??CP;C&?WnoO4U)jlEH5N!;KLT<-DBv@>-~tG)!pW? z04U_Ea8CNj!cHqAVWfcjn$W}UNp@P@-E*rdnS|!U3G;t{w$kdZ+5)CGWzRTxmg9$1 zL;-SLD8h>@Wm#;oSx>R+YeQi)`gxN6wq}xb#8C4Y_H~q45iT~d+18)QG|2`rb*9Cz ztX46=&YWXfvlYFSqj-?*;WoXMCf+NGcGteAqn1vq z?Ykcx8WP|KDE8y~7g2 zFtp39s-1UF3JCRIRldDh5UF){$1*~`;7wJpXXo69!)PD+j82HRv5c$MlJ#;%FaveA zp(V(aqw$jeY{7x}7PB-aIDpiNPbx=FYX8-d%G@8pn_YG~)PGgObLWH?l{s^`lgkn~ z2hN49@<2>G{EWkUU&r=$_VjKR8|hVCb!4A}TD_#}Kwv-F5@SEYix}ed4J7$rHq<#@ z1saZZ0RnJ0!3bCij@xlJTlL3u3yX2B;P-uU6$qO|`VwsuFZ(e=PKxTiIKzzS7_Uq{ zYgzukq!18;w01(y(+R1=q5-%@dt#l)83p-;9!+?Uv_=%{b^6*)$GA>|(!{s8e6LKv z$9{hVT<^>gJuJPO6e8)^qoY$afA~_jWT6ktT;+2*I(Z^}ycu=4kr*w!=YB9hZbeki z-9=8T3)RzEhK}je56md`d_<&92LtR0dE@$kaAlD2pyBtKjGerw86XAsS38aXDc_Nt z$cFJF4^z*6koYr1>(Zr;@NE!P1xUw0j;9D04Azju|A9HEvhs0{Z62R`Qxh{t#F)Mg zxoNw3e9bFSaK|ES2)nPmS>F$4!@Uj35WF8`1KVA1M#{nkS5PebvxcY%Wm}%|X2WPq zzw6DBr*r3)BF{z<&Kjaa1~oMb?>fZ7fK0?}+5DeQpQ}$q#*f4ErVxZ23*r&dK`;As z4*vT^JMvG=2x8EYxxa{jGGq2WV!oYp0Gu5J+jE?LSk&;R>ob6qr9GTL+A-^j)pWWb zxw&Z0J|hO7wS4J_I;`4mFd=47$k030f?!I;D($TbyT_SM#i=3Dd!`#;gSE)@QWSxBJ)PB`2?te!JQbU1}Gy?E%>+s(g z+-Tiew(YH+_SLWrXzFN#Q#%lrh`afYJa?2U8AELKQf_8mtkJn^w8oZGG^6_dsK>H} z{9y+#yY8^pXcLM&gr1d|JmRC6Q%|36GZB;EfWq`g3iot{2~|)0wuhbP2_kkgQ7Aih z2k`X~@?@f25c0kIM0wOGkV*U7knH*nJr(rF*peI7MPqh%jALXq@bDFbbS-IoLthjY zgoVy9*1-c4G<#7~bB2Dj_!B44k>$@gZ~xBL#pLHk+C6oL?ncM58jnX`3JS-b(W_QL zKo9BY0!R_^d{;~rA2|cHJqT^q!I|oMmk7LM&+zY(?}cN zv(VnK?Vo3m05;+NG_6fEfRv-Im{6UWR5OA`vnw+zr0-1%mC3uO(r{f(!-Otj(P5L< zCDkW3?f3a}pUcLjQHSa!;7&itZwdbNHENLVH zORRW>3&aDrXvbzemxV8=34i6PkS^b|%nDD?lX|*iFA?X7?nPRzemBuzdiu8aiT=O+ zOmsQ(g}Ip{jdvX6K+bPS1m`W4aBo9}2MjgmqZ_k-FS8u|L|H_Q((f_bp(H>K zp!EFFcojX$!th@|_6S;I2cATL5WfGCr8(L_QlOEvEFeLTC21o0B^Z;T4*ol)?c}0# zWS4#Q2MY>1*7(Cf91=)8H)?be=69VY!|bCq0SLi0Gz_h_Q!%TZ#`bKcjIftnC&VjMP_H>Ltq z69$C_f`MoLrvs&cfv>83P;c~{yG!e8pL=5Io2vrm`><HDvs>sUX~ppw-Zqumeq?E5 zi-$5s(hhk)14~^}^BA>#fOHkF8>-5_g& z+=;D!(v#pCH|k84x%YX=ilT_*KdPAAX&tRXH59JEkJB8ebg%c6m#^)#f3MX8F*mz@ z(ODbA0#7k@Yi&x61Ce!4F>H|uf1cX@6EGNEXFY*ZoK5FHezY6|Gn;I> zPlQPVD!g4CXKzByc_D|dXzo#V=gk3Gq~HnkDPRS~uY|`+>5&Ih9$t4|Y^&ldK<#+5oqhx&kMGuAmVC27O7aGArqb3j1QS)fV>G zD=n0D^A7KkchYIi8_$cKrFQ%QD=zqTqQ5%7+*-9=ePAr+gN1tHRIQ7VfaSocDe-?*ESQm9jYiswz^eRh&;j=i0NJ0YTXTp}T(Q96&X9aarkd>h zFBXLmq=M*MQB}rG$dCK9+br9Tl8-NfFk(d+2N1WJHCGmiF+c0(hQ*$+GtaxlKomY( zspfqrLaHWy&l6Le2mWF13Al~>@+@hEJa{Tq+dZ*UILJgRmtC9v7}a3*Q9NIgP8IZD z3?R&GAjPg79}342R05eb9!_n>dYjsy`?l?3>b5)*_VcYoL@JH;VD{|gpLJS}>Ut4w zrD&Q~_9o4aKCDLfEvpFDouTb&6B>0GWKX|OFTmix9|-JXW@4~rCF===)|#H>azpDpGPF+ASI&uV0;p~MzXmUvR!~Uwa=)#; z1|)G{*@GS2v9SkV5q4Q^^d|o%wA{!>KaW>Op5nKy{w`r9*?Ohc-)_}E#l0%$^{eCi zR+d208|S{02cJJjPAhvctG5>*fS2nnwEJZ4zcSRfU<90J2?ia|_$=(T^O5G*of@FJ zp^u@2?JVBTc6Vad;6!_20I~71>zAR?2KFpeMoo=MSHI?Slw#xt5KBMNamnp^)#q1s2Y8)g&0k>-0Q~3t|s2QA<$w~(?KV7pt9CrCxfVK%w%XVZl?QzRCTPS+Vvr$-?=M`vmD zrvJkGm-fT>pxh=<2Y`9lP<}%Yaqj07n&z{>4YgP`_abfvXtiT@f1m7 zrI8u#!4v+UEgS|(4;t$6q<>2=L@{K2eG-5hUf?|->D(1fUh+mICB1_`aB}3$bn?6} zlao9-*-(8<)+ju_pX{R|+2CLkg@sSVS>VHcYPBiSkg|k!>_dp0KHARCPD{9lcA|!Y zRyO9tSt!_4Js=pri=q|GER#>$%y8If(0*i=ZFYa+wYtPtEMzshu-afrj}bqH*wyJM zHqgWI=M@5ycc37mTNXo{GoqsFtEYbaz>}3y>)%@B?N^MaiU;Rpg}r-TZMTl%{+osU z>nqK|-pk8tf2@lYw*)~q_pqM49wkkm20CZIdr8+55N#7Bzi>RvuMFXH`Qcu4R7xYY zCeQo+FD41VsY~k3jL2pIGm?h*Nb)yQsYkHw)E_cbw_GJS4N*tF$U6JzeOic`dp>gm zto;3(YrXHb3=9ZFphgYRey8m^b&vdp;w7g?{DHSBV+nii*2PYqo)vA(f{s0cO_c5e z41ak}Q$A)^``rN2Oa_I4V8Gg4T}I7Foihi;kXVh{-eu64guR#P!BVm~(1JIAtZxt@ z#-b%mlBc5mqcS7Dvw6s-!sr>67>i*C?s*w^@ILw*Bi?>ErEs;4C(ACC}*P#PZ?fgw5L zGV4f%Qz!wC9d10jURZTHC$qvK9HYxzJCB1V{?CPXGVd_X{f2)UnS;&GceUSM*ITyM z)FLo^)$}81%WllB|E#9ffH-zzm=m{+|Km(C@Omx=Jqe|eaObtESOVW>CYaq;YNyqE zV}3h&-PIc|1O~C?u>aEZz*UKv$eTy7(}+0}d~=Wtb-m53_I|{3kk*QKjco+%w)D`5 z`!QNM%LJp^<8|Z)w)g2CG*(%~%XB;fpj*2|_^NUterWT8P>*EjIM+HB7GB$bP77=ACH zY%X9sNzAk0fnOHOpP#$`y10BH78Fe~L6dFlp)2f{9z9x-mtNZDFd%X1eT6e=Kf@ZA z)k<3i%oStYEZ{qa4~N_c2Y-n+Cw85NRN*iN`yG>iD=JDD&5pOS&ki{Q|j*U zYazpjkJDOXsx(sP$$;+IMzx8*mldrX{PLY}B>U~iePZ7RYx3(3>gAtl17g5SrIE^e@!HGeOt-$XOi?}S(GW3RHq>W|3T zNfe_TCWysHAg5O(KQW)2l-u^w#84~-UibZ1QWVu#=4LEs;^%)JxxJckY>_19x3xt! z3)M0yd_+kvzrNV%l<_!PK_5_O&=IJ%J~hq&YT4OwJwqWs91Y0VU-QjKJ#05F*Ek%w zdDzU8GPm92g~Zpd9Iw`a^^3nHC2!q8{b+uWa3MXdblN^cp+W=gd0KFjE;hLXyx9u*jM%?^d7&nWf#(#7R-J68nsFh37^9E zIGn@8Az}K4HmmtL%6PQ}aM4e*ioCt1cUJuH@i#_CT!C@B@5hA}>^>)I7Py&Vapm_Gw$pdzSJu2YjYT9}}4;=sWI&hF<>txJCMOJBl%_QJ>;&kT;F710Q`Owy;V! z;$c+8#gZpj*i)2i+A2@T^V#ZA4pmJ?1R~M zQr~{yMd-f7w#=IoA2zD;rGy-rGp`xPX%ZPCzs+lybiAhfw_Nq*0Gruk-{yHD$m)~0 z6+a9shidiw;Ii+GDEfUQcVLK8HWPYI|LXemA7&<>6Mt31YPx0O9l$n1!Or$*x{bN= zsn6tZ{k$3i^!_DPB`lO*Zj-c{6I;9Q%65`^9(JRHHNe;#gOH~=S9np`u~+2{f8>8o z@TjixgXrZ%f71SyU{QC6!!hM#VDa+ z$aD>v zf=(=z$i*JS#q_CJdK_o$H}=i1LrPDX0rBD7n}Sw%ZuO_`iG@(%w?s`}hduC8Dl`=9 zj3J*gP`gfHFqy|_j8=4du-Rz7c>Am0BfM!ob3!;@0A2TL>DFxC?qhpWUJIGlgI;Hr zYn&52yFN23cFSjm`UMv)TnX)))>Q))3DZEw`TyT_BYW(7v4Y#o{3A|cBfBr&thHiG zLn=|H&VzNtt$E$8Kjx*X0gLYj{5Y+}oF3Iq;jgB6>V?#XG{2`Zm9$kZ$DZL!=qglj zYqv=}!TPXU!xJ&q&VQbNB_e)@v!{-a2v|9d;TP#RU230!KTb5u5_ZhM@A8^cjmI19 zTmSolRY(R1uI>{w!P{cQ^ciT%lo-`JgR)>NB)p)^-0B;CO@AVK#I|uoxWl7pqOit=6-jZwSr81CN4^)!RPEBm{)z>r;h) zR{HzPSww1BQ0%HD{=e)ISJSSkt|1ftQ)izpB!H5u6GhE@%{e6Rqs;P4q4`}=*y-#38aAcLQhB8} zzqP4(Gv4%xgg#?SO)2?#{niuo84@5pQ>sI)+zR~HTovA@K;toHT5i<(ZCWG9Zty#c zE_1v3#IBm8A90o>P>XxMtcosd;0cMP|HdBADUYFrm5`kef@*OZ9g_WIY?ca11CSRv zoBvR?Sc+AvA{pj;&-lh}1`CSfms3*gijK$Ay-^JHC7P@@13X+qpxS{(tyiB-Q&S*3 zvQAm$yCo0&wk!)PdGeCjrRk|G@|Cl09NztPR+*xX3D2%FO_v*w@zZJoY#e{p`{R6K z)Vk9moj38qB!f69sjD+pLXnEt3L-MmfKJNC@2{cU+p7qo%+DI|=|W9F+x3$D{(KcP z@MJAqt^`w)UJP|y=Gib5Is4e+DKbI*3Plpl@lpm+?i9TqoapNzk;P)h+oOge!u9P? z-aomK+X~3q&o}eQet|RfaKqJA$;6^cxCi}i#1(y>UgGX>+r%a1F10P=bF^1~NBsQn z41*UIym@7v`czF*mrd&0>1vk>iH?vZ(FV13(qwHrno8K*qp9(ZoVr6kj|_W$8>AYIRqsz4bWE#J ze_Jb(DagT!5z9)&%Hm2|J1zGaG)Hn9saSBit^4H{9T-k-k}KpXx>91za=Ji0DE@{@ z!g_c8DE$QjJFd5z5?z;xGM4>E{cp9;1e1C{q^gqV3Ix+w7?=W|*QI>eC>TO-y50*6 za(3YX$!{j@VL8rRUUi%pOWh8a;2Jh#%c!*gI@O?Z?{uXU)%5aT?ClAs08p?wo4G6B zxJ>c{AF>mB=80bZfEx-q(W7vUx;4br6One=)WL}8erv}Rj=D)Lx(p+ZSqSWt>N)sB z-FT>gmEw2(XA`-x&5Z=3Rt!ay&K{6?nk3pT~A zu7QXR%AuQ}og+@7WlwPmuXv%`Gy6UT@W_co&c z!Cxm!xH*=eK2b5M*hK0P*>#Zs+UE|5}rDIeO zAG!esq`qTE4nL&9!gzXk#oRbC_D>qs@@|}wQ{OM0?|$!1y)+B4kH*2D`e%}t1^hi( zttw->Mt8b&JKjD&KM!!RP|9Cl@Mr=jDBezL1aIZ!!4bMijEp#uE*pXyiCf=2-Gs)o z^`pYkPg!0IJrCxdH|vTaA{!tcjaBWQ`HPihkw#tfl^3`d-fMP{ah&!>mO)0%*L<pJtW9h1ci8(H_YMtk{Lsll2t;s+dj2vv`Le0Q7PmF zfKl6A2a1S_rG)YMmH42q(fBlCHp|RV5W)o4+&I;_cd8nz{?wCgE!6`ng2Qxk#T4-- zRq9P*+nbZPIe(|#D=*oQbd`CPC7d#B_p>{H8Zj}lihCqh71%f^$a5%-p$R?ScO`6o zfUkFyGSjm9XAACf1h!eU&EF0ExL<8p7xH8R{^!1{bGLVX$PlsqJFe&IFK)&rFDMtX z>RpJIuAVq$awy{_>vVFbzsmN!)HJnKklG%XHEnE~wphQiT`}T~IfNV#B&Ow4aU@t>S0E8U7kjL%{BaT8ECK#60-M zkvfW?;_vWx$4ysRlw#sG-d~hXf-tay8v=&d6ZDeR3+~PY|yPcU^IV8)Q zrY7-Pr|9D0l1>N;RWa3x9g%D(xmN(QOCZ*V^7j^BaLKkXKmV-3PbjGS z>}x|fOcD?l6UrQOAN_!2IAH^5x`CwNB!LkRTiV}&E6ge>pfF2Pm1@wjA~w*cm}|l- z>wVd3)Q3_0yvV5U ze0hzZ9I^}3$r%nerW>J!{Lec^M059&W&0lb>}&M9Ic!#L|49m%PqB{bH&7A)w5lye zNJkBui4v)l%zz(x`iIaiI?1aF<{e4QZg<%b)72U-%koeC1@f|8p-&+B3Hoc3X3FVD zosHXh*-(wpal}n5v-w@fN5q@s;2Pl&$~XS5z20w5WoUxS8d;?Hu($l>H>gR$rLlAQ zj?m?^@rCfWHeuqUY_q9zs?T%!VYa8k)(0tgjLu- ziGF%ucAo*@!GqgM{onIJN8ZzR;ea1=9K1mPjO+e^>6C-qn{}9RAIz8`T2|`z6%**l z675(D;<9uaoz=J zZd>sf)KPNhL(DXLUtxtg_vQ<1L=ow>2|Yu)ff-)R6YQjqi7q?Tp>80b#kfA|&84-P z#a(8C`MF|ycz5#l!iD$yu>IiffQ`&Qm3y&-l480ZkvoSUQuQMjNAmv|o;bbflf_7+ z`e3@W`8BQWyCjo>>7RY>0&CvB{exhH1so$TtC?bJ`-WyRQBlJnOi(xl7st0*)`>~d zeaOc!li9iBOQ0;p_4sm8;l0-5DY;W6|Ht`{MK%9TEWErXTX+u5fvL}|?y@oBzr~t4_#8 zmr*P(F5=tK3Ry>gs{U$tf_+41l|;S8pV+qDCvsT0d!Nl(dgo{?0##8-S2Dg}nLsv_ z=Nwp1BxHFXgy-!~7L_^iqoC)`zoh(QYW~r-T4Yycrl&`fL9|Dr`03^`8i_vJ4>!?$ z6q)P4OXxi{qE0bs9w>n;1#k(cM~q3I-iub>KTge~0}uAff>wX!OIb+9@S1w<8?^lU za1&#a9-`MJSz~%kI*P9`C!FSeee$3{s!K`{)fCnIT8b>?a1|D^tzuyh6I`ANmcc-|94Mr8Q2G>pKP|&tS!_nh* z>1(8_(j z(Tf&$VGw#}(!;i0<)+m# zq8&$AO4Za$AFCqVCy=^0!m01gP=Ql>n_H`XI(ZsN)Cz_P?UBS_RWvMg>i|AB^zP`p zOzp>(4%X&k10Ew&($i=Io=W)++y7SsP#S7I*46QJ!QlcNZ*RXG?j~!p{n;(};d*!J zWH0(5_Klc5wqVLjOZ@sq4{0?|(a9=cgOY>&z3-U~6MW&iPZ+ z2STP-xCho%#}ADxiEOVpA*kvAm-L-Z^MlXac#BPHZ=`#k0uGM3DvxhTg4OO&3aVo- z3&JdqwDSWBB5Ss*M6W9$8HSlp&OOxlHv@(N|65C&5v69%r7E}X`}E8kdagqngp7IK z1JhM)U?|eBX-$%~o5ym|Jv>?b$Bvv`K(lcPH71-Kj(b}~MV%D=FnVh^+~)@4tdu{Y zj0H)#%`~0jFEsEt#Ksb64j=om%gF`)q}rxxUjGSe?&}NF(A?%zR5unK=2~%i8@t0; z5>j2nPHbUSnBO)UU8@y|5pBo#@BP{Er_~foM@!Bo={gKAESg!6PQdi6eX-KiS3M#g zeYA41L0zZzGCl~URhp_Gj9g&@<<`mkR+_EzC(2TxGp(}{`vjidXF|PDk+ofPff(6l zj6jzt>%MIJc4ZJX*P;qB_Cs^onlL*0{md^Mjt~Fgds41{v`bC>HFz-`+lMTdB0}IW zcxMQWrqb(P@Wr2vKT%?8?+$Zikh>ilF9-RMqRyN7ePn2vrjqG%C z3P`vl@mUfZz2>Nv#2}Ds?BciJpi(>;C|_SaidKFL$z#M6F0!$)(Bez_ zYhb?9A4IwmS=^H>#FWrpz^hIhneU&d+2qUx|5?JqZ^<%#OcDt_rNIiXeD}_qf~q`j z`U0?5u^7vlCn+Fo&hd&T`u+MHg{m%1c;|0_T;0UDvnBun#0NP!E(prkcsxOvy5)v+ zU~$W4)KVB#br3u{-Bs+A?4Y$hOgiuwXAwfHk7=a+iq@)@&)*{69E8%J_%V<_7OYP@ zRqL0j6Gabf#&hobZB?yLm-A=bJmO_s-g2&G*J8!yU$0w}NLO_3bV?#)l;69a9SA%> zRW-tZ%_`e0Tu>1*N>FbYXl(WzaKH4&JU@stEnfr@Rs{&CO{`qm&M8e?Rls)i+r<1O zUf~Rw2~LPn2b@g%>;tDU@3J+vjGInU10$c7ETrdStc_OTnI)4K5ioOQ5BzRX=7D9v zV?{-NbG++CcG^CNC0#Qk)c-*(x{N^yl(a9^ zkc{vu>RmSJ){UY3i98tD5_H;l8@=^bHMQ1k3GWjGdgmmCyz_oklMOw&IdnMSMp`*Zv}4#7&O9RdO9$#K2nSP zBnM?tWxPDLgy^3H(55{$f@G>y?2STNv48{E{pQ~+$aa;Ezj9yjrwo__2Ve2%CkL_H zH@+~4koke_v4UbsCh@g=X_107F(j&NXSCX$HJdTToBl^J{YN&L7#GV0u+y;uaj7#UK|dcIUt`;{<|aW8nyBpu3D zsweL87LzudT|D!!vssE`3U0);r*++sP($gXo798h#U3-v_5GADwC>BcW%EGunwJb> ze;KnC%ZyT2fpd7+=y#Ie_!L>w@bC{K-QQGgVQ6?1DR`+m`UW(qI!&|i#wbn-mX5H` zbvU4c9i9pcl~uA1+{>b$`WRJ|J6K+&CoMY=>{mKTR3F8gU%T(+^`;j%DTK?zH@|#O zL*lN{q0OW9tU-yYRjgK2L(zfCK0erAgD9eR`lNo#Dz|P_VF2yd%CdTUd>$;}#ECCB zMw(uA8c?PpZcH2Je43f;_waS_KE-C)9jJazHF!f_?VkLRHWo+!PzW_$8Xf#t_b;xq zMM@->?=&5#y$Yn!6Zx%wwcPVC;#fl@Jf@mshPmJit2$=77==a9Kv84!y#v&Hbpdz# zZju(+mTx|)NAm?Wgd!2?JW)ptj{3{1kMZBQaj$oN_l(k|4e{K#aIrgeWBBxdp_JIa zaama-4)J0YB2ksULmqro%MR977XH!VE|cI$&{^43lqLco#Q27#vM{Mz4HVujUy6wC zS{9IYW8STh#C;-CI_ncU>~wn)@tb`F@lDw4$F45`*3EY7cYn2nSwA}UC-u=kuenXb zs5({C%{M)XFrq~`jDOb77R*0&ip~k5mi%`(7xf2is_z)P9Lf-&kg6=A?m$ zKkFikgtfHeXC&l6={ma3QPeeTs*%$P>xkU7II#hkCi5b02`|KhzawDBoSWw~x75U4@dOG7eHcEFnF~Cqnds>IoGZUWpu6j$? zGlM#V3C?TqQtWzI0sdQc!&>yjP|*XbdF|8zKt!)J2P+=>Ue$Y6Bz3@@*uWbU*P*6bKX`py3=_5YfR-^z|9Nvm*k+X?K&aBWbr!>VtOxyr%{3K0=48`X?*5Bo%N=BfIz(~;7K zb!{Dq*Jl4yIG-?8o2N4I>fMf#^1dv_wZ3T?;s$OY(%rqUD!k4{|E9X^BRC)ZUr7^K z3%h^kb8~dc!}L*5rx0IxoznUG>1P(%@8RB^lYiChs?FgfG7oc|e9Ce^3sX{?U$SAz zRoDVTycchMe0O+w<&|wE@MkgVv5G9!lbT{@_)V%@bXYmq$dik(RCrw)RLL|R{%USV zs0bBpe0$4Yf$e4#1&4!N@w#{M-0yc8%+|KtBh-LVfw7dhuh5Q(j)VegSGajuOh?&V1*Ej#=hBL`M?o8P^f(!aQvl)mfNA!3!yp~ZViDo4!H!V}5({KI zg(;-bZ|x=?%|7a&I(YR-${%$eQsuE}Z}dGQhdp>*NqsN5rjEnG#A1OnM77A^}rrUV^Sux`;?p zkNAP3WY;tZkh)m$sK58G#i+hJ8hMK2be*H||jne;khq$W<1 z^+!6qGd{3%-24EK9E1hh^?UIL{<{Dn`{cGd>by)1m8Baq^ zcO;bIN`GCDEtvSv-46jN{L>>sIgGXBry9gPj8JAiC-HB+S&D!A3)0AF%3hqU3?9>L zL8&qmwzn?AHKRVhjkNvgt3V@JohJIV|8<5Wei^!u4K-=6Rp3i+XKCE`Cl2bLSQ z&4-6(D@8&zk3Z3LH*!~Uf~yYkpLCisax#v$4qIOR8rjERt~_4)@9SjVoxfjbP@j)~ zC!@)*W;!n-kt=f8zsI@l>Xk7aQb>#VXy6Ax$#vI(Yf4!7dsb$_uS6w4GpJAFD>B*T zmpaEv5$p7~D3IZ+`4g?E-({}tPsm6Z@xrVZ53LcUrsAf@PF{UC=Pehd*;3w%U$OV^ zzG06wy)LwlHh3+|UQo&E!xzn~o(lVw{|cA8yS`0TWs1zJrm*H?$Y3HwI9#~UMQA46 zMQ=!%6sa-fnNi4w=`^pG)I{^GqfICGlx$_T)EV1Ln#cC#3r7lkeJtU%%lbNe(;qfF z`da2$?DoS-;etc_@9n4x|4Y35X9!g2@S`-HHEr`l0DAkM!r*Sow7h=2;d`LQB$ghk zs2B6_RENig+`w4g?=gEz{3C=Ifw}+TnAw;o1msH6_owNAOWHtNB?p7>< z`{=XiX?D=wLrGB>&eNrfkx+nXF2LqS-Om%P@VVP{H1=Z{>`xZ{NxU%`IJcr? z*4OhP9|fbzs&Qj34m+k$@2(%rN^7uU-c@8ws#UJ>_QWraIQ?K6SLmaFQQ3Y`byhmR zy2R8ni?&*u*2(>TCK~G-+fB&c02x*m+Xm_AtM6mHRg#1tv@yR&j6k0N9#D_=^BQ(W z<_SaITj}!Le+!+c38de1^3=Zdy6{60=6XtZw}hQ5^knSf0XejOztYC}*=x^K}^_>21Et%hF8ZzQG|Luk$niBZTP zmQyGsyGx}2lR}_agqOFn1WRREFHjd<)5&bK&ULR+I!Jk>(KY}RpuzRA!{w3G^RbZ7 z2gn=j8q%a43faL!3wym-G)=iCIi~Z1R>x)@4pCwmPW&Gam)TiJ_uKTwMj>$p@9k)IFmTYXb7K4aI z^_<82%ZslAGzlZU*_`RA80#%Et;64jkv0gp%0MWQlGvw4z?tDT_ok7P_7X_DVl=iDU~ zJyY;1;Nh+phj@puMF*$y5`)|a&z_33cQe$Y_a#b`-iJsK2$p@cNa%CX@&2#aN>Jb- zE+xvOSfdY!=cg8Hwl0$y>~&O#ceP?srMub5&*f?>7)2@=R$pJ&s$i|G9As}Tle9xO z@Ee{6%b6#PfxD?(%y50j++d;>;+EPTwn0BteoFpWqf5;_?q}w*8waHRh7xIkaj+(j z-ibaqQcrc1+?kyb;L0uj^D=FS6HGw6FgqJm6ld%m25LYeGDvaq}P$vrh4 z|Na#dBn;5!Lx zbimz-70ME8=igdzd+X?g#%1o;Sx)&x-vt2QRAHQ^*_Q)7g2wO$$Ru|!?-d}7q;I?W z)AlUct6yRzC4LiMLA3>m6Lcae&=txPzd!RRBR%Bt~qzB!E2@$C|e?2Vow?{^u_?MymE|h-rAfK){X`pRnLfl z8#px{te!b;A$M8$V{O!>eW7sV2x8tw0yyRHb*jh3Db6iY0)(z90Ak2m;4*!qZqG_b z3U-TzUp=I$)HfEcRR_pu*M530GZ+A=k7KNcz|(UYXg}iek2#5$`e$X2d4%`veExzN zZDddU85iY)ef91s!DyAq;|_XU%Y|rGg>(>4&x4uSH95fR>uxfoSi9)w>USFB07`?N z)?XDkJqo4G&ga|G~!~2{2jqcp*my#q2=Ryxy0l=6Oy+K`f}y|_@h)>QPA0ped>ry z@|o{uD@7basDoKvfSpi<4W2ORjC(3zzo!~$2WyQwMZ(ux?iRDcLf|3MQGJyH+mVWE zjL#Fl`i*CtBd4;MFGU&t#0_9K)0?u{-RtynJHE9{k5%n_fKN0@E1GrdM>KE0Ug)l! zdLNm%!11)eMLm8c{p`THk@_x|`bK`CV=EK|3S>Mc@cIAWYFw3O<%iXF+02HZF_VVs z8g2e2TXdNh%90| z`z75}dL8lbOjF!9DIV;BVGe|?!?Bh9CN;BZO!V|ICIioH8R3ru7_-KOT|5=I8aY+) zugYSV3+*w`OYPZ5b?;koUqpRq74k`~u=-h-$SQ@0;NtUjbrb1H z>YbPCOUu_q&;L(l;Dcy6*umIB{&3t(Ye2QH(s4iDlLr5n5#0;7PlqJvFT(xKRL>hZ zh(vUyMbXeWm@h5b4yHYx3!&I7SO&xQ|hl0NwCELS#B7^ZH4bTWBj6_9gc=! z_iulpwd)jmW~CH_K=@V`SC2LMyeYn>WaYM;Ld+)h$)3=@X;mB!g6%QUZ-yfls`$4Y z3jyA~ONY!{PM)d4O$yqZp^0SqHB%47r|bAZ0K1?67$k$oVu5b-L46|?X@%W|F-V3i zo0Ms6>FwC{r-&c;Rc?)p05duDsGWB55(auJ8I@3LvooyZf%Ier#Nalermcbo#rC%?a8 zp=;l+X+LP8B%s6ND2+z>64cNpR={F#!YxC9aEU#ES-ljq?R(L+&Q!x|n^(NBTH%ld zs?kMmvk=^rZcoWf@%BNirGyHycXE&P0w3b%)_1FCu;EI%S$;uzIl~?peC!P6SOKW9 zZ+M%bI+SEe{szHwcG`PuGuzjq#3VC@)xzC89oEn=*dNx7mwS%uG^5H2Jn+E$GWh%% zH`+IGm6_8O1-Eh|KdIV*;(-=~EIUY~XWhlisNXiQEl#pgsBuRC=J!uS=>>orY~Vot zI8jUV-ttWJ`d!zji3sgn@DAh{$QM-uI3HyU$+$Ud-xu{;I=5~N$M2Z@eueJ~sLlL< zlD(LgaJvIC$|zSy|JWQKhD{+GKfy11Tvc_tUP%YoP6bpwvDqQff2Ms(Z?hK!Bi*#v zG;@ClP)IZma;B)x^&y@hKO=t!h7Y@~CJ z>5bjBh4T&DsoLkLZXz7}hBLaVH<-XH5wTYi&TM|R2Hw&&W;Cmr#U}Oxc`9?%Q}JCu5$etIydjM80Eyfu2Ky5 zAp7_zvzAU`p^E9_Mge|vX>0D@C;>(X(g7J}o&sMrr`a899k0W&^+cmd2Ft3t{2_g| zIsC-bsHz~Av3RJb|BUszHGGixc^r!t+>tG})5fm@%R`;YmOklFdTbe$w1PkfqKt!W z&yXNG@3nun;d@%FZAuEir!a})S4Ro_FXrva z1auXTw=L`!CKFf8n=&0L+O*zfOV=i9w&6bFoPg?Zq9^2)13W`XfBJ1;oW0(aWG$EM zfE$f?#AEVhq4txn9jnw>^^YBjm{FG4O(UFgmlArU*#zvq?TnO3C5cY%=pLr>C!w-V zHX=Q6uw5#TzPhy5w2_w^>6J*)KKGm1yOVzMVw^IF9F7&K{Op(NYQbJ2@I_VNprCT{ zC{z#_W#Wdz%Oz_*!K+SL5r%@bBr5rg#*8t}`KD$S@z$&)TEtlFhq9ZiqagE&`((vL zh(onTu60dq#mp%vIVLow;hp@YhQB&$%rRUnD}ADZ0#Ms)f?rA&{92n;k=~ z$*{Zo_Sy?$mA%s0F)YzEzyND>oVr4NGjUTgS|!b~Y#1-SNsF%;B5WYW`bjDJZ4Rx# zBk83dwf#k3{}Z?c>EPwKDiyt`CnAz)H)K1t{_?5C;oz40E!Hi%E7XBDRAnN#IgB(b z8I4}ERXMA|-hDgp;PSYvik#aG51oYXA8uPoNeM}rR`fvS4n22R#TQ(#2deCE8LBJ^ ze32ct{rmTq3m+AeQ}>(Xk$^JYB1Dv1(H=h`j6j5UV=_e~6>H>8a-u)~fY@Z{M_kU| zU`(RmdJ?gL51e7QEx4(ouhp#YtdxThz3&AjG*Zz&t{az^NCXLk9|H9)*7V&tQGi3- zn98*O@V<#AK!cMLVq*if+MIKL<_G;#sH$W^;bUc0m>suZL5YM3DdPhx>^PAlJkeUvx0dP1L2!G#pKaVa>kc0RSdST`@&ap~{tj-be+l$TZ)?c?u){ z3@Z-^W$|XLi6{h+;{~20pDs0ENUu8o_`6^wSNt1=NSePG276b~?KQwjo9X0t0E@OUB}@wE0=5mvtiP?5T}vHpB%M1!LUsKyt7r z(w)@gkYT~B{sZNINOvkaK4^@n#L7xw^FKeT!?MFCjTFCevi|DZxgk#`w01l1soSE# zD*i$P*gn@oZ&3=Ul|ayh+bKxJ!%05$3_ADE|5ir0PZfye80-Hx16IGeKjrY_HkA!N z24CPO6U$A}W(>7_nJmp+^L)HR5YC}OHwdlxukujgKL)CQ2>kN&I=2=u!>x}SVPe^8 zD1fiOTGm<-tINz9HpqB0=V%zJcA&Y{TI4a5y9P2FMyW_@DaA(1z8cBksuseup^Ktx zo_i)FgbDiBVo~3Ko~S;FK*h8@9j#?)CflZ4!aHZCiTL{##;MroCL`5!i%;Su_H5Vo zf-_QHg%_6jD$wbl7%Z9!3RTBK+#2;8pd_?utLcFkCqxMWl2fXZ5<6E}Dd0SZMzVLq zHUlrkgTHQ<3AD3=%@A4Tf=$`!$eK_F=+=}wQ~}T@NlY_*(5{xcu_$DcVkw-(Lq?dB z>`=5f$6D+NF|dI6RK!#hucbQi=`obmrW#h_0?0JcvLshoA1I?&7T7lJyM#C5YjXrS zq0NiLQ?{(UjT;xb+P^>e?O>U`z%?HQUyQjZ@5DHYWq9t9Jc7d5p3{APzTRfH)eX%K$L|1+DC&W62K?grTk+W@m*KPnG15$TY474I zM8eVDx5usme~e#6WNnmlP|As%s{C56iGL`m7J`mn1rb*RTu6qpgnbggRigK_J{jvD z@I)rBe(j$#_?d{AF{^Z2E_PKpKEwk6-uQBQr21n;M~G@X>XZonQNruAY>8yNyb79R z;>z~+EYEi*Dn@dW)$BAhVq<-lav7o0WQi$+m3hW@*2IE zNazJ!tD1NJoBi)49@pnDy~RLR(H%BZ#UL(M{tUuPBLxvh=mmwrCOeq~sr0d*vbel2(C{X}I!NX>*}L zT2S-4lEPtPGU#q3Dln6cm!EFc^4F=Wt5u_RC5-dF`Z{?sT}O5lL4LQjj5ArS19FY6 z-sdb&uu(u&=ulj>G$LYnPy0S$jq9EBW6*b9?P23_wDmAIz11y3NMaEXgckp@<4p|a z-QZ&sK40A8)&}n08gJz97ud0nhfJhZwrsEVOMg+Bq3)`9+zB+;KG}ZCy}}Kq6zgm} zcI&+vxOim>!U=Z6WX2-lmg&o+Fw4OHeicS~z4oUytA4m{IXB&6pPM~p|6syFMXWWz zOU1G>(c-!5a~+ZS?#+w z-Jn`;jxCQe_UGFs=I?OJ^XG3s9M#&pM0=^G!P%RZ@AID4k7XsTHqC4w|I?OmEZ<5G z)ASjyI8SbH@n!C;%5!y;kzvn}@3)pI+sET}ca6Cg?S~r>J`<>)*HbiA9Cd(VHKpnk%si%J0sccjusjREQ zSTKRre*+a!@4AO?^7?6Z#^Ez*a)egfjP0o@Hx_nXje*N2tauE)-NuTL<*X3mmwN-y zJN8n%z2ZT{7b1rIK=QtPxbp=!h;37x3tosyJGo8sr^T~w*64bH-2tV6Pz57v?8oCvcQup_clpQ&_ z$lzu6bL&!c$$EYvsgNq>&@hq~*7xqAAuRxSyu7uO3KmOptRZo2Fsf8OsOd-fPNCr3 zxQAu~(%tQhuRopXGmS=--7d3?rbopkpW|m@H-Y|*aTrYsS(45~c?itJ^~eCg!J0pO z%4j&U42vcTgYhAWZZd<>7$38x#e0qB!6$AXC3zvH1P8~6^iTMcrQV?0?uO&O+MLSs z^s?Thb`2@pMG4;Qn>5@uxSol|P1GT|j01O@mDW41U4=Op>B-vEu~s)V=+jov;B?=_H<^L zjf(2G-LD;66HwOtBdr3K33E4aUuWd05Qy(o^? z<-GimhY%Vk;H0Vxotc@i&{nb@>rntD1EdBmf~dD$XFqNZH8^ys_O7VP_Rv1b_(QJ} z(bgLCyufr!LKq51MWw|pEUnk^b&zY#^JYQ}H0iGZ$IO9~jI46K=HLyS?e&m?Z34F5 zJ)hKAta4yZ7RH8EJI^br=qXr6fYZ@}-cx}}1e7fB+f?l^m|*;@Alio!OIN8XwU+Kz z=FNy`WNBsR%E~1M8is|JASt({+g-A^?|kDIz7p)KsH>bOo4&2>Hg=VcB5v3Gdo(v` z^t$0;74x8MPac9N_!(N<#E_GIA|0RCry3t}79J9^G6T$dI^1_X!fL|_T)6UxK7ZS% z4i*yV*z_7xB^Vgxfj&VNnRT1daPl(lKfN61J4)#_!aKQ=_xBG*QFlyLM~mrY*$5)m z*GyFgkS~xlThvm$+257Y`PzTZP@f-vrLWk~t6bY@xu2A@tgv=!E!Cpeu{#DnAum4W zTO|ILUflUz26E|m8oL-W>ts+#F~d&os$fI$=$&pCTh}maS_~nC_SEc(%23cS z5rpGW>Fw;fMr79Gpd^vvs(E1eFIZu=cbWSFFgQZgF5Hmk@1Io zn8T3?j_}+yO~nsq^-6Wsn-+C!$t6$Ora<8Ci?WY~5Y!^<>9wUHyk_BR3F{GV-z}B5 z^m=SdI;o!)3H5K?mquZ zZ)Rq0OBwaSGZ}W;XQH`g{Hzxxm$1uKbe-k$VSQ+SyZl|dXu5yM5qph&kuv|_vo5#Z%8w*ammj-zf0-z7v?7A)z>`wv@jHf|A{etQ^Ph4O-W?xVsV<5UF z^`#I#|L~TNOGY+$w_lMfO7`cwALx&pbDEfb-4-7=&XZ^{+1VCq0m-H4lz-C}!xHuO zl>U5S?^kh@qCWx3n3~6rkGg~PM|9;WO3~bE%VNCoVT}NdT=D$DV`}p=oO8x077c)Pq*m|rIJiiWd90N%DPQ({<#<5hbI=v-|OW@iEnD#hbzF_36AebDAKb{o!+G7pJ+bt3D0L3g9S(SN6^l@Bm8a2r9UfCk-kdf|Unh<^ zx+yUD1N`1z%vw{EhTfljkay5K-9KaPaOM{*MUwrk?Ax=8pUSgyU@M=6>dW%LOjK0P zC=^?3N8{A?!A|3_4tm&d(-|#f)YsqnGW<5Q`;lOKk|$RO4q49dWe~@>NM9(liiElH zscc!kC60I5{P80@9D8Z{a>bG76qWmF5FJ!*xXlSd4@qi+^Kh#K!aqj~ynk_f3LM7S zXQt;R^@jHQ`o6MCW3Q6;BP9n16ge3W3d#7T64&kYWAys8ZHpW!Uh}lY`BJ@?v(imF z{z>y~*rS1Yw(>w*$Co&c6hfPw$BnKX0wpiqWDvIC&F#1c_q4knj1_$7pPqf_OC_$a z-ho#(s*X0Br8sAg-`f6Mi{DR%gGJ9%?dNI}?uCGH77+hssz;E81qQp?*bP?7HsK<# z&c=g9tKl=NW*y(H`pge-t5uYCOB9PCUgBX(>j2e04|5+9au&|_9;6Z2(%KBuOU-Oh zvP472i`5cjbo-1i^Ehq5 z<+$}t+slb72;ECtXuFBZO0kFXq>ijv+_rR%YQ`xLg*xhVu=pafyV^v%SLcI?Xua(f zdflDxZ|7f;tw0xp8e^4ITVU@_)Hi(tWL!Y_&)&wrstxWHFs5)bquWW<(#Jsd`2; zyO{^4Y3nPG8E#d_zkpDu*N~v7HcHy}(&{Lpol1uVS>OWRKJoIAvghpuog>8wQM6>) zAKj*ZT!csXCTxu36g_h4uj;~rxH;n83aN`}65?sW72dJl!&$@oSx)z*hdiw&jT^n8 z`6j7U@G$Fz=p%WzqF9yc(GuQj0mz!QuYBE={%!lpgcQCdP^FI)e=2UwQPb_*Q=S-x zWp^Hw5$>JnI|~*s+BD%x@^o|?=3R%AOI?VkmOXC%r567Pk5^Q}N41Ly zt-9kwO|i#%i{n9)z**HLV+61YxKIY$~>z&3Dp)cOK5RLA~=$awloj0 z3;4>dqB=OxuWz=6)o;1-%|FNKP!JwwP?jvPH$6mwd{GWD`M`*}+GUJSaZey-@os~ijqvj=(ITltedw#wZGl3(gj443X))dmzo;9R5XII95Kq2^rox4P0$s*ccX_(UN{3{MR(9$>t^IG<*O^hSFN1Sx|9;b6T(biZE>gK16<90C`hm)EeBRF+@V6^$lj zCwQi;g;zdl)zWT;C&mv_dyh0U#8(YqxkxWmmtF7C#;d=o?Ng3cR=c>lcI6)>UYe$! zY&DTZ20cvz91ov#6;t-9!-!aLL+A^0qzX6w@5R<%vSV~OZ_cE%WAeZCHuQ+nAx@1t zjbBBF+;|9)m0j)q<4?#l1NB!aFIU;oCBs=xsy7i~*_^Bqq%sufwv59aK8fR_IxhFe zlykU;m9oC8op44mnj}9cX#QiEg!pATB>O~e6uAU10y~SpSLc^_mxCx(JApot{p*4s zP-i@7zg7h5skLy zF;lD3hOM`rC+QjMqa@9+tYhF8Q@SA)GDgvzzdxkYcni>*lsnQ)+#6Q4vac-q*%8EL zxAR3NOQ6t=*Y1?7nV%Ig?>eYjMtF2!z;9jNLOZCfH`F^eDT!?Vbgs_Htmb74wrc=9 zq2aj5{+!g)E^50E?OHs@9xPn!F zR>As=1*@q2rcV@>zFP2cV+E-5=8G^Z(ody#H3!4YNxx;31uF5`;7%6G7d_UVQ^jWt zme-`3>Y3I%Wd43mQe1>{F4U@KaD@~k)NrSL=hmr01(SZuwF15A9W`iU0G@vC%d1PwVJiB zR-F^eDhjK+?u9_+VWZ8;Blm@xY5!yI*HqW8&q1msDQ7`d#LRKF4tV z^)yX2Ro0N$C%5OcST89-Y5YpN-9h&%Fl(HP&qp>THuWrsIXI~n&c%&^?jqeTSa?CU1?;hj;9m%%Sr*obv>F2_B4ds^7sUDjTDYzY$7_swv?{#0zG)Zdp|B^UC4RAxECq3CFcIl|2i~Z!v}*lk6xVu}kC$(PW^O zqoAd-jJ7uVdCLJ%SVUwv9=Rd|fyDI(isw?b-U`$w43cthQjb&Sa_tUvIX4b;jx6-E z6$&06^}xbOtu`9dq}ZgW_Hs+M%aZ)0T7Y`J5H@Cp&s*Cjna=Az9=3eUlJH~R<)QsP zL?V?VImCg8q#2NK#yeG|Av&;+l*CK1ZoSHd)N=hRy?rubT8rC%?9u8J z3R8wppC8vdjmlu!RJ53(2p1|6XZ7qecrz4!zxh{{^1B_%56$zHrK zWi_Kv%Vq}3WMk)qR!S))=hP~dQk6ow_Qp#6xd6Y zTS^S0NFJZ8+0T<~7S;~fQ$fPg75bIP6_F)>G*imFYkI`FY8z~||A5sdhNLKv8j<1b-0t;Y_hlU1S2m)%m;$%7k*p8A?EPu6GW zPu^v_Es7jZ+=9w|Nu+O7o2b-!%?n7u{gJoUz_Qn!Ui%$Evjh3US=-)NCuH$-p&BnO zt|D(f0+;n$1k~1R?%VSZvg3LWY?pT@w4#7yGE>6OsfhiM08sN;ZcAytz-0$;8OctZ zt>cMC9dX^Eua$a};+P&s1llyS=}L3pt=dtXH%b6&YiP^Dg$fQH>}hRBHEOwi^-9!! z)#y%LIni(U!1->H8?mjVi_cJrk_I)BdCsl^)$~*p@2J%lRtlCKAeV{8zWS~G3umhp z3NpPifuaHHz&0Ya15+9~zp_fA5NWv@8W(XdS{k~$eLCSGbSp>ih$o=k7;oHf>`ItY zxPNZ(S1ec?cnjK!K(@`&aU^Ues=RR%`SjoD>chh}(x0blv|KEsWarMjxr4=GH2oC) zl6k3Dr4sTi(2psb(uR3q{~aNg#8f2vG|EuvTO>Z|NnkJJSm$6P0vR&Wak8EMrK zm^J4)NxmhxI|WLnEcDHYjJl%N7Kra$ELK&?tjq{Dxf^R3bHNF+cd6q_CBq}C0Dc=c z$5E@Bvu57tGeD`ZDOpKkq0TaN0gT<*-K}8fOd5#A z2yPk7r`gq1;4Ha^e)Oe7M6|AlJ)8Om=UT&#Um(CbznwVphJ+$2Yv-R)S#4vRM!nRs zL_M$%9|VM)gWu>G@#-%N1B`!XY&YYOu1B=F|1LUy%?%(jxnoz@i6?9#3dv_tFo}2c4FA+b6s?Ui*Uh$G zr)D1iU~?NX2?>gVlMMx7)*H3b+Sq#-ZmiZCg+D96%7I?s)WyLMfrEq&T^zc}T*zp9 zrVK6+W=&)jn7b{(E0rS&Z(lF!V-uy?BIIY8FFg?9(xJoz6O#ma^Qo=|U{{CQsX0Q` z*NK=;C)RA1O%3z4N#B`tXyK67wy46F)d^^i5$Sg`43|KHkCO2<5)uy6UE>0W{Lm3z ztFXH*zz-XYJw#?WZE<~$iA0TIjfprB#)sVTMZFn-8mNnm<7gtA?bpTstg>!iOh2*9`fClZ%JGzIu?>(^9xO8HEhavT|3vTUe{w=D#Me~IF zGQoX;{;!&fNjTv-sq{{V-SxBvS92e4I0!D^b3M}0>Dcx|uzs8{!t^db!GC4DG$&fC z!&ugIJ90D=Fv}fd$?dg`Z{F#K?Dtb>^R35rkuZeod57pLq-doaFYLg;!s^uuRO(s7bmZq=YK1(Hc1L4nPMZ8K6sy?q#y*y70#ecjfd%sl1=^Mdl zQ|0abF{^3p%7dZs`b&dhDXoabkR&q^?gW4Pd+D*ndk88hN#B%K$+7}WeA3yPm!W!a zplUr|s!kU&; zt$(oi;LP94SXu7hjr|`5+>8Hz%J=6)gZy!C2jcsaD9H^2{1&jQ3NN$T{Lzi~N7+W* z#*=*~@O{HYoP8H;BST|b+w;lUf;#E%|A-!H^)*V-miG7XsT2;9PO;U#k^F*`wtFgu9dbsN7NhFJ8hw?E50)t73BEA2L_7)$Ze6_t0 zYClL1Wb6&E{#Fa|nQ*7@Gh%u?fO~A-$jJic2BKzz) zA3nX|fdOAF7jCC7SHP;hgX>E|q}dT}W~9=kNNs+1$xemaCCc;GK^UrLjbq27IzY|p zA8`4UBkiT;`Cxb1^O3)`b>BF-3-_|D##_TDhFDtHf4;TwrmSYqikffQQtsT#zeQJI zK+}aJ{S_%C;Dj&9xuT2o)q?vWK*xDj-+k^T)W#py-X6+oWtFNxJGyH6Q)p*yJn{Tb zgVSZAvX+snz2Cae3T-;JIVi2xLthza@mh+vDj#QWKXc)!ge$A=>T3TRD(SR3Dz_xv zpWCE*hg^Y3=v6A?JQjE@@#@hV!M&sW4q0(B$Ag|-{-22EHN03co?7@;o3Y-wHyhc- zM-^vuj^(>G?xc%kLyk&n5lx=lXUxE8uF>8{Z~Bm&v`zZN$;RGwq;w8z|9;}tSdE>} z747Bbez2e&r|`}SC>!e_n6`au1Rj@D$c=RH66u76;kd>!e_w`{Fe!fy8e4t`+LjnT z@Nl&)ngq!NjI`XTsuGlfchajr5nlUxMgG3S`RC@pH@kAXf>xVCO_3c{*{LKJ#0u#n z0*D|(u4wmuoM=`0D|mUI9Gg)K7Klw_#M6vT+hYb(-p_$}Oaj@+w%-zTjaN}^DjwuE zwx>Kq=)^%gqlpMDhhBY!B%i8#z_#^&v4C|3q+YW?w{8417ue@i(W_9$NBRi#Uds4P zA!Lw*Ff~7fy!8)9GxUq2StaVL2_`Ymr>Hu;VO{|gHH7cqTrRl2oD+u6z~=i>WcRdu z7<@r4zIcWjpf=gQ-AGmK++q*CrIg6vi!UgUpwXv<``wZkvCy)n9Q5Greqxov>yV^= z)o3wK5RS_bQ1(x?!WrSVOTOt3nbYa8Rj`YxA9&AjdqKkn*AJli1=4F9hO$m+Sb zKNK4WQ5%BA%yI+cuN$ZSSR!^=%PoUZHCu0UR)|TNt8-!eeHIxr$!fp(^}Q8&g?yu% z7Uv-5Q?3Te$W5mBDkf>2%(ZF`)Wro!GhTLts|IDhKI-v0#znNN=;j#qc9&`Zr+=Bs z?NRs_%zD$Bbn38arMG7T(H&z0O_7>laeo9J-lFgv3zX!2%iRophLDe1-ah^2q3 zdnS7ZwjVv0>2*IY5P--+9j%eoyxj2UmEU7B*esp1~R*dp&iU5IXT^ zCDXbi1nCVgn5tzJTP37b=ARls#Vwm!XqS<8j;@Z2S)ODRE)lPHeEXZ5nAG&Y9fOMuox&RC4bB9;aqvy(8qo_HwCo3j48ocDxi`GJ#^xl!JPKfXvbW zgrl;(U2HA61jZ~;iuc3dZ3Q(}nzjyJY6rTO7LkHd+|)%N5;7boc_*bx0Ue9^!B_4`=gGixgs%9lwMngJO;n9 z#U|k=n&fWTkIvidh+xk{+c0pk)EB;@bfbLlr>Mt+md*Bs=g<4h)V##!`ZDCIApC5) z^eiUi@Mf#j1llI<_|}6`lO*Wb2^QwN?(2fuAtX4U#5Vg)34Kk;ljM>zzSwi&S&G#M zB<-Wzp3zy%Bd&4aGPBaZ^rU>e?$}-fU=_Wi0z!-1bW~$R&X7n;@dn45?cl3ArhZBy z9b27?&q5n;9P=vTR~bYv)2ac82^64JPcTsZkS2qub@XCGda#RzvWNf8MrY3QiFe$3| z^YqXu>tjg|k)m$)OK%740S;r{v1>#Acdif=*m3<4u4PePH%NHYB z(u5iml;4B4w({9eb>DxE3;W?;q$Z7tM{Igj`aYM5&-&2Uh@eVNf(*(U8A{EQ^Hk`e z$S@`vpm&?A*F0cC`rWB&h$g%!uxldbOJze)2&4$frp#9GeQva{yGkg^GS#}oJ+l`F z1$VE#jfd-5gG9SBnDTU5BjO)W>-bgnH8ioaLJv-`Hd*ahWd?`pnMok0-tp^C&Mi1M zsdJ7*5dI#*1L+^#hk;y>gjf=4d3Pmc=wpsD?pVZ@nl?c%Si0vrb(h&>e8}~j^p_n- zt19O~sc-t#1Bo6cj8N~(CZ5_ohd+)Db9+07_AmGVq9sk3N@Ba z+o|B(5Wd*(!a+2UyFZ-%6@84>IGxaZyj}U2rj3|PX8gVZ1LTH^ z1+?AYjZg_(0rL06aj(kX?kow8#Zw}WIr>+tIszeMQo!CBtu1ad^W*VPu_dD5^L3t) zHUW3<4amxu%3V>wy6w(nDXm)CX?u1kI#)Uzj1`5E#%3Ba6{AZl8ZvnxRBX+US#4S( zlVksGwe}Arx2>O+Yt$#c<&Ji|GeVs$tZt6`5BL7eiM`Q!86M$axPalG&7Tj?v;A#T z`L3FRLg4#Vw9h{h_kcS_Jf<2P@G>8cr}OcmNcic_>JhbCon!dMgJp?F zbY@#q1Poa0?OAR26W`c$){0(YMc*0R?crC%*H71KBv%pcdNu`LzY%c!%inKut*J@~ zBkT*}j}(dYyxr*QdZ~CmTYW*EyEF5Jq?B)M2Y=)|oiF6mL$q*H&UFq4)<|uc{Zx1K z7XYnR#pek5BgwF-76pXyOjZ=MV{z>h&VCJwjRiOEbHoAJfL7Dc{ICD9@3cC3Z7F~d zK3uQuzHlQumDv^LYyW+Iyb=7+hCj8Jye5CDJomWtW;5SV&3fs!dAGbhTSl8m=a}XD zxL$m?vFJIW*ofgc_$z|-q2v8QZ8-a^G3ub(Rdxx<$|42~2&T57aX=#BeO}*4>pQN8 zxk$E$UYQv=*KDyltiqItU4ML(eJ1IY@2tW#U8(0Dj7BNWhQ0eseU1u6d#v&3 z@!vP{Gk$Pa8mmWmdbEU?G5Z4crAITRsF_i~e`^W-RFY~&V6`a9ZUjOfP!~nOoi6;T ztj_oXyA(N6eXJKYxXATk8u$LrPhZ?RPU<(iHz* z{(QM=7u3nKM@0M`-0b_lTw>PGwU7LvuMq*NzSnX3O6ARTu?xM|P;D+$+Xs9)Ds)l) za1~B>sF;}k;WsFXkEXMEg#rhS-=v7(n?2535YjnqjFZ?hAmbfo!^#^3O;_Y$5Wn=9 zoSeMAyG0*zskleps^PhEj;edh_7?ML@;! zYm9}Y4?Mg*{8et#>=z?D8$XJVOUf>VTFCu{@_K|p{wTiu6Yg-A7Gb(n&4JBo8Tsya z%zK}~N3qF9=j{#?+ZVkDGNf=E*4M)1=|9)+prPy^c6yl4x5tsvgdFDDRrrn-5I_p0 z)L|0anR??;lC;L36s3^)+_LGC3dFuVsMkA2pT4`i{_+Ubzr^Ar{}%tzw%(so2Rz8?yH0fOl=*6D6MjqfWY$gAxZUGLX7cf4%<_8Q z9G)190n=}mc|I6cYEofKje*AEWX5wh71di&KgE4VM}GYze#+@u;cH=pe_hAA$2<8m z@D|Xju9AQ!aG?BWZ6g>thuuwAn&@-0{`+J4Lj@9FR&+vPcW&p{2)>(6qT!PjbO~1F zUZ@17AHPGiH)6k<2HJ=Z((18ig(EKReqMp%%%9Q6a=(BJCaYE{RVSNSvZ$ zB7PQff9|m3E|<1XT6prR>%6~iZvPE-oQCT%xu}Tv%7JI|mE%r)N4LkG{chstB;Rg8 z82({|q|e4TlHD!*bw_;8n{sT;tc$gY5ddxenp8<2Im*^Px7au}-dc()TJwasr2nI0 z7`K2cY!0rj=5`4-J@WU&BXaydnNB^eJE}s}2}Y?pF%`bFiMCDkC3(G?@IFTpmGc-X zgdS}`6F+v6ksE)aM$RkI&s}pcwQd4f)Bwae^R^hc8Y0zq<2aByj`cj!O^%iSQBtkG zz+*;uBw{_`k2wie_-|tq6B7$A<+X{DWy6a9wp?^yW7R~8-adOae)ppn{==o@Bpr?r zMS(iBPbX*8Okmp3iGoc+U2~Mh=hjZ=^_{QP5~ZZ1_%6+DcyhA*+F-5}Vi~PCZ7Ei@oHE(G6$`S zH+bwT+%g)6Qt>d+pJ*2Rolgdr88z;~L7NZ-^_l&Fd)aUWIuw}g@$vrs%>N=rIt%|h zH9RBwX;$B~0ktDbga&ihzwXLAtyI2gbH%b!;ZcpfrMU4r)!PBn_J>|U=A-Fdo|!&lxDrl1Zif1eKry8DY!(W$(BtUo2k`EwYW zz$9L$1}sh1M{{`7ljpgwF@lAA(Ok zQfq!1T&?z46nNs$8+yTTDYd&00Dx#ySuw5xVyUs2++7Y1b2705Zv7f?(U5{ zH12YGzu$lE)^(53Yt31+>Z$#kgybu+g4oQwGKAu1zk-Ty!8JWFXNAkMUA&D%p!K{U z7a7a3(E)u^l(LR*Y;bi?14VK9y*ht7Djfw*8lB5Za@@ehD7nmAEZ9O>*j=2vChw0I zTi_%Yk$7FQW!TaM+hs%DuRia~JG{63RJ}SrYRz@Td0CrZ%v;9V8%tTe0QF=pn)NOl zly}X@NW%7iTsWK#2rhm!#P@pZ$US5rzbXCy{o8#>_L-#cOnbx+IbuTyE9h*Tt8)ZQ z<_=6Lr+UDTj~*LjOadoqH;D-szYsn&2sbt%5cjhfixh)?B&rfH4_4;vXHD!PwxzB(iNhLr z-HHh$380rnuP#T0*ZjMY;Uc}xTWi^)Yk94iP^|J}Q&c8SxJKOMN3%XUC)LwGcew<| z8%+AP_qgJmfM0>dAx8}ZA~3r z7;;T{;OlQSJcPZTaI0Gjd*BV!zqHzMRt0Bh=Gu$d7{G7&Y{o;XB)8kX{77=o>$UM4 z03SbB=?tE{(wzJtm`oU0Pa9@OCKQ2n-@Z~M1n^A20@)}mcy-;3!_heN43m{;0FE2AmMX!6C1qq zeVJG?a;Owln{+aa@UA^r6V>xWd6WDjodFv3nI{}!?45dXlP3I9IV$M4o3fSt}by~2G{ zj}_gF4WC@_eXTlZrBW?o1AmXxiixG3i_RtmA!7M%nBCN%)nJaLA%g9i*tElxn9=5! z+zKm@c#r)+A#nG2cCTGIsEZ+Zo7Xf2ZQeYl%v@2NKyGusOzG4)RBHFsG0AXffVDMX zlw48$XjEuibXhhHOJtAint;`WtxGb1LM33&8NL)eo{QWmr8!=|a+xG_*8IPW6p%WW z1_)bgGbGlYOoy3_b*O#nfF1s3a=|>1BixD+-qboqKIW9oaI`OyBrTB>+}KnhrL!n1 zAx8Mv`jp~?+ag58VaeC_On+1^f0~jzu0Yr@8lCml^YvV{o4i31@l2@ZO)Ym8+FMm; ztq4=JA?!?&G`(2i(#G zE;=Pc_}W)lB;)0PQzvUS*F4jNKsmw{f*v%b&-=%xd9laclC;phr0MtB#sQ%#>uZLE zi??sO5B`WfUbg5kTUU@UNPh4=?PpY!|MGqe-lU*wMjV$dM71^~_+%|;QBAnn>6uMW z8Swg^V|uw#4>N7fP*n{&=;z!hoB z_K9Bf-+|rl@lM7fV3Zc;r(pltcHaQHC7st}C!}}cW5v{3g_4r(X1&gwMy#)Zdy!hl zgVk0e^yxx*m}E@WZmu^-O(^R0OB|kATcvg#WKM@{=INqFg@G=1p0Fp3|I+~2`B)a= z2c6CDg|BtjhJIqb%Ik5Ad)a-YMLXr(YXCk}N-1vBw7e6_=p~i}LbPl;2|Qe`R`JiX zT)wqUq3j=_y}@|7fTHeIvK;QN&|IwMu`QKy#Nk|}pNVsQ4}oCnRK|lHQM=1_Ts8+-bk`w7-NeOb|!{XE+Mb`!5xZWaeKz$?H^*O1WEbU%vd?$*rNsG{f!r> z6BnCRIOwK(m>#wpwP=}~zoNOT)`~124WA}!z!{$OBLvV&x5Q~u2k*g7WVevx`LRir zQBcy6>U?|>6)^g^8tIHjba&}u`_kj0SbxHYHo^81SHk8>BcZ@*;}3Brw>2pMN{Bng z*tG)N4z0nu!H1?$D&k|gT1<~n(C2&AUjg@%(ukMmXJ3YHML@(8JMAI!+_5N_@?{eW;+jIqg5^T z!;P%E?H4OLkNrF!#1zY%Xc`Q)KI!C(?OJ2`6jj2L-Hfc)aBPlhY)UI=%ZS2pT~RI$ z8yq0VVY6F9%&8a|oBG$rIhqvK4aoan{?>&rygn(xKblb@&53aJ&Y;uMoQ=Z%8t;7} z8O}5BoGHzB*}VTDHrNq=CiUdNL%dMX@aKO+%!z#b~d zo@Sl-2Q_-sm&8}hiKA5|$@9nW(6^hYr>bN*LgWiY`{9o|D!0!wbCKvn}w1-Dz&?m0)40O zXdc-injcN`GYv9Nq;i;4UHZi+4i#i^XL~RQ^H&VEUU@1JtJJxr&8%gt6KMs< z+)V@9_(BHR`)(7hLPY)F?8dV7kX6aJcW#MZ7JCnJbK$5=+N1PUaS|`zOkF2~5(*)8 zUvwRR@j7MXP#n<3og{ucPQs$aLTT415OkL|F_-;J)-u00sN`9K&A_P2$T(5Ov89Oa zg(Pr=h(U#wvs2U6A->WX+t76(_f73q3+#t14YaOO{;tJAA0mai7Vv3H^L40PnVpPL zOl``#P~S;3)SBm`>D_aTkAXvpM)WD#ZzUAb5uE6oQz#@+^Z(k&SEusc#r~WeruDOqeVAx;L(*dTt?+vvpDY=rd( z_qhgVf{Gl@g#0J)Z^m)RW-sSF@rc2YQTb+1^zr&;ot1uu(+E77YbWkkOzk_vG5uPFviR3ZD3l$N*LEZ8=@*M>61}E%M)Us~{=FkM@|8ZXF zY{9%LrhBECN@WaOfw)Gd-2kX!ezMF! z#A6q)!Yn5-aK69SZs6A)z;haKZ7<=#VaJI=o&)=r4JgN1SK{Jx{;BpbBG6%6W-eFh z@tiBHmhtZ;efq%{F!W;zQq_(>{&7p?8^6!qJ{T8ue9))9d_Sn!VT^a!$Af5PctsMI zPqyG&uk)p`U6V!_b7~SjG^d@{*{vSD7X$Q75sgZVq?Ptom&EBsyl&^9X?J?mh5B#C zv>1cBgZY()_hw)WXGvg7&g0g1N9=`3JTi&9 zY2pLgo+T@zzs+~fuchP*t&_W&T!yy*6q4_709WU_FDBx!DCbx$h*EKc@!VX!kdX%; zHGZCXOK5ve2W7&mqnEJ4zqvU{eL~FyhjR@zoaq;b4 zVN}nsgwSSAi5yjy-8uD6?0NF-XWj&dtxR&vuhQY)w|S+R2V!_>9ntLX`U_U!kAK#Q z1U-~3)W)2A(r#FRTo%)32ql|?CSx&oP|$7}87w@lYtj^t0VSBEyw+2rriz>#0O7K^ z3S$_mJa*lUh|hZReM_R`H1R+>0dg`KlMZn!1`N2)WFJV2XYc(Fx@(GQS#hhRR|)7{ zO$P}ono=reu(m9^J18{YFUpo;oXbX}-ai8WJ?hJtw|Y2YoodxheRD1+w(1sA@=pD> zPIq(|DE?1n{9QL~V6+xN=lEJwc7JsB9n}|73ArepP-!rwvy*;%?q*W$JVX%|ep69{ zw}kpW7jQuDxo;mjexdsmRP=pJ4D(Cw$q$DJNQ2l7=XQf%aMBL>>6SOL>6k;f__t>G zOyfZ(1P^ZrUNDkEJDOFx5w&ie^hO)#VXe}+-;Dnur&W_zuFgy&%$JfdW;DyQyGrIi zR0J9zj2!%xb+&`(5R}5iyigOY)kOSKT?d)1_`Ldw1c2I}V*bQQr&*DdOJ$>n&_GeximMk(% zl6;aLo2JTBkND~liXDfj)m>+|u_c>4sA9I?mJIR3MRyrptqJKFL}my~im$U;0Vpc)`DVw&d72qgrP^uypR>7NQ{ zvkLXq*OcVGDMoTA7%PAZQ|U1@6MV`FbA{&Kqj8uti%HiE0y|WNqg*EfW1V@xu*aUnLZeZ+OOkClQXRO4<^*c;;fA1zvjw?^7CL&~hjF zO`r^8qtghdGp9nF(Qxo6ou%0)t%hZNr0$^)YiWMb(!VA2NQE;{ykxBcK`4en!Y}?FmoQFCbGsqaExF7XO~uwj{h5}; z%bZo0@diXZ_xf8Ai4<=WU@*Y7p1Z_?qd#u9c^x$t`>k|CGzHtQQE^`o5*QT|qjAQg z7TPJbI`vi>ZOI6+qBvncrev;ozXH((OKR)+$Iuyj7Eoct2tgI$cw{gI;p=CG011MFm4WsP3Z*sf4=kgG=R1tTrRed zI^3zxoOR)x^-Nxhn&_w3gq)tfPL)^`IHwVZ8+H+cJ(K?;OUSG?3%mB+dFB)?b{_Qn z3%A){n-z)H&omSC-}FxZiZ3e)q4hX6Tn4#M1_WxeTE>>%jsylaj&3fXl{urY=eoI^j2+7`*my?Z&l@eX0a^f94zCX z4LhO-AMY^a7q;z?`5QscYZb6NS07OD@J6#OJVQRhx<`ktRv8E5o4wzDf!4Da?FI`v zMD8y(Vd=adWz4?5++V~ER;@S2@%r8*>oyQeuf|0;x@<;1U+@6uJXO4=#wR8B#~e01 z22kI9ALRc+4#27+|6OEZ3V};??&CVkSX%aexLAbV0)H@n?EmGe6n&R$!*c!U6}tp# z(n1-W8ni<KKD#tYxc^$;SJhsx4Y>!gPkq0N3m6s6+g{TYrP-J za%quhY3yLXKBIM4hv@K0Yd;hO>O4KpD@li29E)tr4%%-O@}E@i=Om_{6(g&;I%Vn^ z+3S-qc*<#=oo>!G>%@K?g)?<_mx_&fn_4v#6BVUICgt}E_CwgHioB&X5P0lutxJke zG9b0PVudkujX9lK5SvUe_-PpCi||^V`Cjlpl+{6LrY~BJ&Di(QUk^Hx)ErJpWZeUv z4ip$mJ|GbZ$q$Zn-N(yK4L36q#kQCeHotW0G3OWpo+aR+-(;sgGW)>*TZFiN@X_-; z|8ntgK+7Nxuaf;2BaU2F|HBt>z%c7A(XX+$x|~+>Z&78vzV{Z_x|YuLxKLz`e$-WO z6^n}OcXjw?L50pT*>Z;v`ViFe@I*$mE8c|cu(3qv8~LwnM|hrjdi4(E8+84#ob+ge z4bD}!rs+zX{2IRrK#?2=y+MVl`J|jwiqF%ci+6C>0|o2@K?jtcO-{@0yISvM35a*raX|i zO7mNp`Gc8&Cu}sb(-x+hYp$rek9qjlNj4-UpLx2^m{3s#6|CWXgU7hD5at9D%Ngq; zR6sK9ptBlp9fu*s9rTa-qg*-?XWTsf1QTe+6}IjNZI*yq5FJbR07oX)<<~WWl}T{# zh9&^*CUP?!)Pm~&I&4-r^03M3s4{06!vP`8mQVA5+o!Goyjyvh9F z-nZ_)iM8MxLw)MPGnJaSl5RXykCzj4OjMfIPqI%2!@XsB1VDsi^qz**YAIyM)DQ?z zi~fq5-ItiX4F=$=PY^Z}f$41G^Gc&9g%AG10Js)Wtbq0h!S3E{fgaAp!>w2#ZIZy_ zg;?-U1=jNvt$Tr={=N1Y;3(c)yd}ZydU1&`$gwbxdEV{Rhe)|1WifMkGm6#@d{#7SMiIX4U9heSIVx3m_<>K|z7QlfgrEGZ((v)e}8%g?zcLo~c6Z_3} zuH(5Xj()9BYa?vzHuRV*o&gLcq4I5>4AAK%3_8p0)IZuzDN~P9py~Q=jY&mUh{eB$t%4M-r8c%{J5~{9@o6 z|4)5NPXv+w3!%N+qYp=emQB;z$t;NFfJw75=IEzs07AZISc4AN?<$VDr=q8NiS9Sz z^!$w=dNcFFV+Z{~o0yot>tnAv8AqIqvHp$Ox(z>LPCb)FcvICBOTC{);E0y*7snHq z*G5Nvlumpu2N*yddU1^RB}a_4RSNE)&nC1vBm@w(fZM@9pWlxoQK6OOiSVC?2!0=M zG}|e9;qB^+O*$RAIfn9{3_MPBLe|6(N+|yxY~>C6A(DK6sA9xp-c5I#eS;4yI$#~3 z#Q0Wt00|=StZwH1-m`VB56?!(KHqnhu~Y-&rnLOUElfAC4!<+dfGo9HtQsfex5*D_ zUSx{{6C+7xQEpJ*+Mqh4q30J0Nv7f7conP`il~Q-h@zU^7*yzpN;jj@43f>q7O6WB zw?82|el_VC29X8B?tH&76e|5o+wrZTbV49AfUGMw85 z3*JrtR=^ssFMX9!3xO=v+v6$Hh+0B7^7j4YK@l!CK*pKo7ks$_o73R(_=S%}uIM*D zdutYD(@CjXyZ|e;Y^N`ry*+sz_(C0zvkm$>$yuh{MUGw6$19~t!bOV?KYuZM$SSWd zU7(^7|Lxt+vhOU#Xzuacc6Y!^+bKP>AIL54dQos_X{9dI;;Gg%s&ZE%7Akc0Xa=Gi7z+IJwDez19xDV zm;N-dZyg_VpDrTv&Le1E%T*I!GF!kKMggBk{4CWDGr9*1&TwU}Q8-Io$!H`3=d`dk zx~^XcYWbZ~Qr~BejFP>qBf^N^s-_$bg&e*#+baIi{We!6r{xf33TW$e88vOwik14j zp=q?8mH)As_jzae>sl^qbJ@rjfoR>mPs!h@%!eiAc(Vm12;BVQ#Orxl*^CFMo2=>q zXIW}Ud4}_Zh1$&?V=tC8uT_m(He5K!DJUuqA^#LP3qQmfy%7rE`^>n{q&z+Qy3^H; zTT%eMNn%bHhgtloEYwvXwMq~?|Fx-hug~WD87x$s1p^EO$XiG;R-tvCtQN}VrcO_n z_H_6%Ja!}ej|ZRr^JI6tU6^+`Xc~h(Ygj7^LcW^wqaXDax7fR%aPQb2%v?a5rAlbO z=W(N*(k#FaZSAi&PVj6Fy~c0%vpq#B13#^1JCRD2vZ_F}`n&+I>FHXd|Dy*MBqY?0 zY&peqrJXDRJEy%RHTRmXZQibVBC6ffKk0VUZFci3WeerUKiVY_h~ZSEEJ&s@RQ>kf zsPY_z6R>NOBf7w_9qS(b!6*4_d4ibvbZX{CN;bO*np=ssBv1C9$quj-mV;x@?rFLb z>bKony|XrIo_%EG#FZ(V*{{DN@gvAl&rck}E%Hi-`L8-17KMswVlcE)T8~1=E!4IU%;42YSblJeleR7+ zJk*(ypHtz6?R<%)KKf*0J|TGk`?4ohVe4qeZwEXmEwlRiwgc+s>_ja)%h86BN7e(R?3ZwR=# z=x>TiM*Au=jPiBnhtj!ROYb2N&UTSUSEKPTW^3zEAR&)rV>fQP4v$5V{T^Am?%U~& z3v9FszQ6SLv-1$9Y}97}Ywt`F9|d#q7=QpnwjMhbmwjP>5)tSATOv(TCJKX(vEJTM z`ZiNO$1teFD)D}ELkx_T(}0I9@2_rEpv-rOSC($esedJjBg(B5UtlSjzFvUj5_0@B z{l+@bAH3~*3S`{^fIb&_txg$9XmP?|yv=?+ZtJ_CLC^v~g>t@rdepw0MN4>&L-ioS zb&7@Jr;$Qh2b!|uVVjm9c$$6O5-p;>XY<>|^=yHhVz+S*B7aGGY^oHmvrLmE-JnBC zULVO5PAkQzYOm@{=BZhAlk|H7AMb47jf{-miPQac+tJT0MXI87#S18tJf;Jh8t1qM z*(atZXW2RKjfY_2Q3w%mg<(BY$<~21c|MduDh7<&tiXExR2sezWCfA=iGtuAyrueO zhpHSl59a)oJ$AH8{=M7jA-Y;Q4W&MrsJE0i#m?Phefu2VO{3fb3 z01C7q{OwJ5Npc1b60HXkbyrD^M?lwg-z&-ZZM$w+p5IG`9~9xERmQ>}6$-37;m}BX7MJMb z+&MB{fXnXi7wrG;?SlLt!y)BApVoo1-39~>ke?_1pKAMKgqxXZW@I#&TfQJDp=z_w zKnkn*=Aw;?II?A6r4#kA8~T0wcmgPM(1|pw)y{aC9-&#HJ)3|uU7EX>nSqJQGfvl5 zbvR!{am2wXbg;envX`ia7NZX7N^o?sLaTyMoTwcd;o{YCv&)8MfotJeEL z(D)Inlhq}C2`A!)r%FVJxlzAlAxl#m5jc~Q-tGdubjkM>=$geQ;KU%hH%(4XO>_(8 zzMH4yA06(RRcky7DWA=aEu~1TN%UKX9Z0GtuETdLkGDyNQc^7u%977a9x2`?COGbI z=~qW=@Q=HXlY?o2tW^#_m>%=l2vXS~F6v8l$IoxOrn^*ef)s7yI9YQf?#hJ+c57{n zcJbL>V@b8;S$z6})M2;gOPcfICUBBBzPb)KzCq2M4p>+fhGRDi&xCN{?ZkQ4M9kC& zGzthxrFo}}IDb_wEqOO`br$3{g?ShZUihw)@^mUsb2hMqNDb!uJxScs0CZuE3yjGf zl*)9S4NY+B~^ZNo*6`wqFI_l>1zc#3|jw3}y{EYpic!2#_&I1Ycr z0o~&XiH%iO%h61ri*tkXU-!_&PxI1{o!Q8A*Rg*Cf`?(QBilMaLDh(h9Dcqt9hof) zU7amK*^xCgyzQv#2xdn!T?%@R!naGU2O?|%fT z4-E4cO7V!m??i! z_ve)i-{oRDo`~eqL`R57v6-84m;W~_5`u(KZfPRh>2)ZZVL7*&bmXK1oN?T0?P%lPsiu;QxPyUWaN)l)XlsOm;hw`F(hr(8Koyho{ zcPb)iCObFRnx_5fbyoU4xmz}if6+3zE5fM8vB`OT`1tRSL(`1>5&XSRt)Dopqcw@v z`pQfU1aDR-wDFqIC)XN#lct4=WY02@X8!;i*-p9tmObb3dS(OUI@y@9tJaz%D!8j= z!AU~jC9vt|nVJDL50%E#Hn?;$>-gQKxZ$z2(St$@G# zh$8ZPAPm{+X&LANwdQjChrt)rd1MHEyNYum;`D`Sy(vh^fR3SjPXN>|_Ohy4Y1E^l zm0`qTRr?#LzSsHQoTdKk=lP_(+27$f4`W4n{q|A-TkGYUoUA3*$z(?2PQF!VL$c;} zUa05OAZ$eVP@jviP^X5&3E03?pfu7l64Gw@n|t$*(*SNV<%&tKWiDkH9FjRx?(swRG!}_Pjp`yu4TH;Z)g`xP!L%t%n?{+x)^Uo&Hr#a5uQxK)yWo zh|*l^HvbAHuy2>3Av5%|;5}Wcp?LJ2`J)0Q__Q6owj2d6G^DT}V6WEMQ%z&uR39<+S328IppZKKy%qogb*E2( zj)Q}Q9m3BXnhME|eZV){afIb{r~+_<0Ou#dL_R*yV!Zy{pt_vS=(K$7@_G#*@sP5z zD!(R{tCcZab-39rc={rhAKL%l!0_=HZr1l`U1x(0n+e_Nl2a|3U;!78dCJ!j_i-Qh zhoN4^!J(EJKu_>{v3&li5uMaAH7(u#$Z}ceC+NS#8-jT(RV<(e8Md7zN zH?hapjnQ&o9;4BQV;P`KmYwtuggYP3Y@ILc8KLrQnohMsCa21Kr1*B;MX=X>yX)DE zzWIid$h-DiPG9Wcg%>dulPI2I9AMM&Y_jDTO%=T3&tK%xDCJgK%O*EV`Ud5r2UhuM z-OUxVspZh_q7i()EUUriD*v>b$w#|!M&RrM=hL`$_x8A$sDWE{y*_Ec z-}0}fxId8(RRcEnhGUP-we5PV{WwJ%H;N=RX=P%79VB~)uV$z9tnvokFtgs%rdyHX z@|hSRaP$4wy9`CFK!3LGbS^Z6w27ghUcPo$b_fx_tc{)UC}#$V0o6T7xD02_uT7l7 zbU}9<)_+j@vL}H2K+0mNgm9lJ^=lvFC8$0FNV|=KlQBOi)TSkVx#TFu3_$lUH^xH0 zAE@%~P>HX}HwM`>Mfpq@2}?UmL6B#@L6-X3vg8iqF10bg_@eyBp1!Vr!%kFFo0jR) z?bCTr>HcdybFqD*lpKSe3q|>u&hwY)D^JtrxPp*kmHZ9u^hV)22V%}ZqW2rI)%92# z6Xb7A(yydMnIeaD0`rhHaF?3s>8VfAi;U|*iBAj@&J-Mzx)WzEI>U4EE|(FbNxZ8l z^QQB^iuw<3e6dlbQ(eZQGB`Kljk0-)7;3CDRBHAii9!dibO1}Mt8?5EVWz}z6X=wd zg8Ipol8CCGTVHDUg423VrUlKqZhiegl_>Wt6Sr~qeB+^ZG9R}@Nyx+ogI;V0KXPKM zg>t+kk67W(6QAjs`k!NN^mg^hfF_;U9cDs*s5+kZ_W2_$JL0N;1w*oXezQI1jxepUIQ*p@nytpy~iB*qOv|BXJ5MOY_FlWD)Vza-e z{ZER2{ITV$Jozy)BI@!y;h?Z9^iqB@{dC{`Q5~_vZixQ+3w_uq2{2}peamrun~~t} zIXx1!<@cdx-G$3WWImQoIhIu_?`brw?D=!f)^BBMf(S^YmP<~IbNMuQ z9&*ks??&T2b6#i+S3VhL5b7VaYw`YV>}>MiGTNAP8tG|_Ds-kWQSceWhaK`&20Gjm zJY86-Gl@3Utb41Con?B#kpZIM^THA48toT6239*C^5O=}(So*;K=Gn^H9olP%xr*{=^6{UU|7+B-!OiCQ3zYtfH> z6!s!<#b1!>O)Oc->BPA|T^LS=!#EglHd%YBvs!Pg1GF?c9nf=HtzhQ)2@`ibTuMb@ zS78S1@)a+%IYr6NlzW3IS@ufDe6=)F+Kx_o41Rj6I{F6`Kr6H!PtPAO^)a&*v$eS> zLw>^Oj#-*T)@mezZ^N+hTG_!ZKu@SiUCyBi9W}HDI{b^Z=0OVox10wWmYzFEe4g^S zwr=P6*^eCV|0CV6)5F*QwuhNv__z;Ug(83aT=Drxo{XS;{@uYMt*} zui+6fQo&wG*C3j_#H&ibXy3|?@F@NL4s63NX5=m}q(OvfB(aSl1#o(i&yet?^FfZ| zXlnK)i^DzCgLx>-z9;f0(pjIojtQgvIQ^53 zj{B2fSmKwQpmZ9w`I$xwf(>WTyYxyu(fujU;6)2C7VK94%Vl$>Ik_!hUs`%y?k^Gu z6LV^IQcrari&p2xbjoQP#IyDMMM^1KEQepg;fTer{GI;xhskeWo?%-0OK&%j1W{hQ z$7|K2x}(oU6VFVmit|?(=EaZLR1`4hw_l1RR$N=URkz9Mm1T$v%(tSu^-3&-)+WKK z!mxYX@{NOs%ZvTchd69Qz>y_zvhknjUN~T!sS7tUlz-!1uwOt2`8-7^$|Dhd6fW(Y zuX5abGbSOYe6-4DVenDLDq-g{+*6FTG5aOjq}KiXJ|v>ZpQ*7MhC=)!3^@lC8#{E< zJ8`zt0wJczWS$yc`15(Thm=DAq3h*t$v$iF4u#Nx%T0Q9o;|y7JcV(bo;qTT|71<{@Z2?UB+$^Zz$*r4Mc>Gq(cCJv=%}nVKFQs=gUVadF z0RSc4=}+d`gt%?Pm+HFXMz{&MZI!#ir8tzE%Nf{Zb6{d-+kI&glrEPXx8nICcb(90 zYrL|{CO)$QH`l`P8E@@2=yywMgVL9at^vf3Zl$=&o2nVX(zpF@XH@SPJ zTNA9}(RWmnqvQeKeWF$lZA^r_QH=sP<>N>cu?@X1n!=-^ z=3h$%J86ViUb;N{+q8XvaK7_bUGtVtqAukh-P{>3^?!bH0Wq0cv^f zn3c}J+{IHmo6b+BaNw67-*)o{gmZt7%g0iMI%1Ji+6?=l|DTO)&u%ssN4&yi{#!lv zrd?E_kpOFJyb{i?VY4J9*2!R&QTU$-lS8?9S;fb%gKM< z6G0O*$+eaGD^A?5RdN~&gMnEEsr~py7IcKF$m(FdUTQnk6z>NKz*>~O!i5iQ$7xmV?DYoP3hSz9$qp4a{LG|guT zQB{zY{vg@=*ky6m@lqSoTJx`H7-8Wj)BdBU5QQhyyy&Ge55R{@9KB- zi2fF|nVi*OaUxzy1KQh16_#jEEb!m&N^$>7kxwJ~!U3ME!;t);3_9+=&&)~8jUJJ5 zQc5$a4J&1Y4(Iu*%q`%ORV@D!@n*ijTx+(A>=AsCvR%y#$7WjJNqgL=si?w%Ws(S{ zjsfdd&rHNZK3_N6UDd`{VJ0(ojFd#eo+kBX8XY;JNdy#eqK_4!srW|ZM3{X?@fK`W z;A1jpgWB*)qw^wTY>H<7C=!hhhw-zq`(ElpBc#DFB{K7ou)LkIH3F7!E3~Q>{G#>r zdF)paMc$v4ip9t3+y?lCSe_;yxB6aMd7;zcPMu$YFfn=sitp4<7X$wNOGF)a@&z5B zE~)iDJ)e-Ae?Y-X!hS|C!YzOVFkjPmB3nrAb)ib8L#0OsA)1g2My+&GB8l4W3RISx z#-G$3&M;mAI%xi>w`=MsQL|;WrG2V%`q-qkmHhI>(C>tc(|!pb0sHCfu{R>UboXep zWou}dLgWV+zJXTfgvIWB3mySriTK@y#88BakLcJc*8y!BF9Ya|NQTIHl1SI59U$7; z@rGb$C%)=rSsi=PGwzFGdAbrP&BogR&zkRTWE+8Pu})>?Jz2jF$EeH zoYMBV-3QV+ts#m1j@@~kj#)21{t1C!;8HE$Ck4|&iNQSog}NeiD>y*c0Suv#)3=b2 zXIysk@Uh7aCoa!vVV9Fxy?yh9P&oz%?g4&yDW*fpnx$6hFY^22S-wqtMpNGn{= z+_syTrHm3?IlasVy5jXWF3=n;nv?%TJ|2{QSBC$o|FZ{>@JaFN-+A|*ZSwU7qw%DG zN7$7tCQNdCjcL|K;WN25}Bpfxx!xjbZcb53NyInv8r60i?^3x|Uc5R!BF`6iE>0u>bY>s?nfI&zNDyv$zeIC2^l_llZ( zSiW!UAdj5#O6*)gKY+p;k}5ohmPN7m5J`>IeJE-L|18S4gF^ZAa240H5H(xOGej=g z%mzW0UfoiWM9L8@P*IMIrgeN23>f>hx} zl)k^FeRjhK($jP<%ueQAAkUbP^~RIkeS^!+pE>&9R=Dy3lQu!^0&diF%Z)2kwQ^Thmm8}d z)+@KU7YlHLSp5dsvFu@Q%;Uof%SKh2mFEj?lvD#{ieel0}PO2A}fzs9Brp>A2zAYNnA(7*9x%25N=rxaGvn#;EUu ziery4*ZV=n<#YwczUza%8L;)68p(Ix3pdyM#gWtAkYrpm_>M7adMHM;=n$z+&;#z{ z{Z3@IQ3i?;LAP>8K9}=H%cVg#Ic@<1#cZX9O{c&O#{O8#^8$z1Y`%%v6U$vn>?fjP zj$q;XeJmjtew>I9rZ7^LnTm4lgN0Na(f1=oJ4XFEB>Y>m=c<6gJL3rX{oNMT{W3-LEh(SFq zuDws)Xa^+7^LxT`11N}BP%E&SylG!}A2MnONKR(zVt34exj2_L?O3-Pd<~5xn=STn zo$D|tLT`GQ?UA))fTH3a;aq=DTpuXN1y#?t{qkRRS*aOe=qKXr^$4||>&T6E%Md;9 zn__DsvzaLek0&%F1r`Ktdjq zY8~_oZ!(=vZ~ggtzHFvi%=_(t#lNqe%Vzekg)`WLZ6wDZ#b&dmKRM3;ik>mRu)Y zJk}lx;n8n3cPs}4mmq2Il2c-OyI(vo@&*CU1bP*VN|2iJX%#5UpoD?(dRa5rN({y%?K0&lf12{=o*^0R}Fy1sH@dsKJ4QYG{_6R^-n(u0+|NDd+Uq_XU2c3&H~ESWW%b)x*_58xlkh3WXj%6oqE+d8_cZ>e*pmZ>xY0GIu5-e(E` zX}AlFy@n1}3Q4R8_{&FBEN-Jfoe3R&;UTATE3Ld&`%`57+BbzN?&aWRzl}5SQ`<26 z=%?ewdJ>#d^~6;M+Ca*#POoRI+QZp`4L=KAub_0To4fY>_*T10u zdVO#nADcvKOt*M)34HrUPkIgp_;d-hvz&Uu;D7G$q znT*d+F_%tXecf+`crsk_Nw8fjT#z-}lJ8uT6@kXx`Q*&=23%bT_gL!m$3WNYcO zY#-my>Ivyu^n1SHye9fW^G+r|+<5XLKy8kPZHA8mML(-9hKx?X7Jq8{zQwn?Lx;V* z&GRJq7(Fsc{hYxSpWSKxdkk`Y`4YOAy!1uUegfLn5)O^g$-zwKMV>7d9@;M1hu-3X z3Z=US4IAINcNw^oV~+nXsdgN0aoqcTnNq}4XPIXfWe(6@g?@zZl*Qv*<^FASpBDXV z-U-V{QXkE#f+5X>R{SqOec0YY@sB=b`0x+h!mpijKOtTE3sn@rg~sViw+y3;x^32) zmoA!^Ji*rp;;L6ZFGj}F<@HJDX}ZHaY}cfsi>LJYqFaqArHFstD!gNFtA3HZ>~ zZmI@{zrRYpE4bB;b~Z2OeGoFZUIP+@8wNSYP%F;)D;@YqY2;-Ws;J#(J-&gAp#naK zf7>_4I9o)e9&=t;U8VNBDf#uaTh1Fa_stXt78O(p>N%^iNNL47NC$;;8AZf`ChC%VP2dpI-DwdcdQ0G;5D8UltU%Z8@#!3r-(?t~ znq`gfGyYJQ=&MR0bU$7;ZvMCwc=t27?U296VmFsi1{jliQ5N0*e1l7Q1irJXOYsTt zKYK>2j4oCtRwkR)RVHtWtr^fgD>GKV;71CN&rb28SZgv4WDH2)6YA$_f4&-^9+O;& zG-_8H6{|9D4ti7BVE0qZ7Tnhy(64qZQdm$hWtDF1i^^%7Z|n&X+b{*rI-oEArm-2$ z48=Yy95cDNOou!wP8fbyoMh~l-yr4O-@dtBdiubA{1$Pi8qww^rAAM3czxh6^NV#~Wha{|_=SnUu1NaWx>qU4Rc|;tA zUhYS7+C}E+HH?_9Y}H(EI(<&Thpt<>ZpA+3aW0QF%;P-d|GpGL?L~IQbgf!hrLL@&Oc_;zdvo5HS>cNAS;JnY7Rc=0YwIf_UkLyyjVDERd<2gKds~J zHFkWrIbKn(Hhg{7J$s5imlc&rweoU1mVF#3Oen44B2gC~JDh4>CB!P2;$x`p+uryE z;X#RbDBXWZNp2Y=*tX3@^0wh^HPgI_>UY!_??PqRdqg-)9q-=h+mCKyDkEo$+VH` z2n61vk*UTTD|^n>x#L#b4Ac8d(9ek6 zHb`JVsI`tb%zi_N1hg*th}xY@?sk9RDl?fdhB8=+m}l~MR)gV6s-YkaYrSJn@us+P zKGyVsT6ro)%7x~}VGJ~CVh#fqM59ZpY&!UW94eHi7ER1v#cW1&n8eke1jY^6 zotImGm|T=%@|j9LTUQ3toBc*bM9oP{q<5PIe<_280xnhu)$l{w&BUk=E88 zN18udxph5jK7DG1&o-1w+4hwcXw;b2jUzHNV!He_{HyB}m%NgFkqR+~@t3MB&ejdr z%0cWpaRK>2uaqhgcY(hK;c+>Doh9UpVXx$2;JHhGp54DpbOOeox_k4sIr*~7ALb1+ z>XJudr*{8_Q+?STC|H8rv{5v0M#-?0H#!4>#6-sSkGNuY-&HamD;stDZzzk*S94T- zKo7@W3)ymux67>%=DAV9Llw8)nBEgHuNA<_sUC;9B?b0xi4dDW$P0DbEB!e`+Xe>W z$*b5~iTf_LB+j-Y{CbV5SUYV!PR!by~94(Qm_! z%0hQ*(g21TvWDN!e*y1-my-|^2~2@sanjtyUtXNLJzA>ph{JFJQF8@j?tUvx*7ff{J86K#uCRm z4(p0`Cvt1IRA9{nUq&Mt6$#^t)#Mpyl7m$!%e*yBPflgM#|;0KsvOM>#Ih6#i94Sel)-5k=mcsQf_-sZy%F41w`G*sKq2*w{z5JWp#KpuX6<1r0gJZz2{kU9Fv$c`IK z`|4iGr|hArP0RkDL&^+XIxCYK86%qQ{puG0fNXh>T{Wo0`pO)66>^6IKP%NZf_rX2 zPkU@%d8y(pqInL?!i~|48t5j8Wh-dk@b) zyJ6+`lzzt6QOmM!E82fN!BZjq$~SfL#f&eiiCv3YY3DHtgIQWh@RkssyhJ!Rw!VZW zZGQE3_wDl^6}>cW1{&)EW?mH`;jX3vR#wuNpKX-Te2tCUN3aipsoW54g^M zpG6xDeV1y3JlV~bE;FnToer5DU$Z2hQ8GWP+T~Tt;+JO5Q%fvM6d3f|@TM>-aX{@K z48wZgVk}DT0dnfI7-A?-$eSr9DIZn{$V4OIBO(zs_1|~viM!`9X`G~19$Pywt(M;V z62%58IxSN*uq+Fd@-yN%exvRJcO!mW*!4jQ%BPZ!tsymn307%i+{>tfwx+(H3MO3L znHB+Z*FFOBkyz2FxkwUTt1AD}XlhqlOI0-{o)cJi7@~<0Ahz!Y|Ek@~QMF^{_oUi- zbpdn2=`t1m5v@vn1w7Fl$*7UJ{LW1f`c5*>b>^uGa;J*#RK>)GH7B@6(I=j~7R?D} zLg>k9T-JSUElRK=-uF}grj@?hWTMN@{pxCwStlvi>I>#Ftg@~$>aV)dhYOz!2sO`) z>LOzLXi!V0t|{aT66;#{0xP$^lpZ$rL4Q2>>`?I6d^>TE>UA!2+Zvviq6QX%UTrfk1M{tCbi z?G>&>6}dI(*5()ivCm#u0Aj7;Prc3Xt#ZeOY@}OdSl_^9NQeRobQuS@VgFLK$~=s9 z^L?h8d)MFP1Eo=2-eS}h^Bb*L?2nqr8Lx9JF8yd!wB!_>_lS@BZU&@~#}%fz`;i~k!m|Pl z7O=!$6JuEu`c#&o$&Sny<=0w{v9PqvX5iwK?lP+2PVou=ndd0)UH`?@CgC4#{anU*-Fu z_JugK9W;d;4f&Le3zy=PZ^O>P>>Jap5nAaWC5lhx+B-uP*J)J2N;C8`OzdI3v5jaz zY79HW&FhUgs&6sPwtf4f&C8zcM;&f~567@>;dF&N`u_$%P~t+{|Bthmo#;qm$6-6XhgM_3q} zm&Bdw{K5oXsw`5jC~O#A3HF(Qpc?hksPKwpwP0zx!s1hrzmcJV{qgS`!w5~}YKx$+ zSDQclx@KYVuU8=vnDEn5oufBP56@6B`%foIFjz_+I?Mf^W2i{43_Q8!Ma}1#=ZYI9hhJw}& zAv1xD0J1`vH`X$)X6e|6<~nK*vXMoiZ1}#aLdUa3+z$+8LxJjV$f%(doJ$p}ZeyTW zkwdxUe+M(3s`64sWB}KH=+R=TKe5wuacoG0eR2);yf-9v>H5N)E|})U*nf= zQp%D`6p9+O;5U2h@k=iW4bIbQZJsMeColb-HUKob;H=3J(I^Pm zQ`4V;^t=Ez5vTS>r^%{9ce@oiMt|NF(h_55u&SBgwg>Fv&{~%%%3uXqy=o-#53dD# z+X0&J_l&0P_|BLo`)>Q!VLoD zvch8tG(U#mIIwDMbunGJ6TYR2LE#2_cH2Ye$QdOFrJwT7ANR7d--)13IP7w?)5+fY z_~witUI7Z{jhvD#V$%72{*}Gu8exo;fYG43;EbmCspPsKCgxgMM|;F(|4_D&>4aNd zQ4Je?>HA&W zvw(0blJ&noTzbDMmT@1AJGeRf4L8nGXjA^}C4Dm5ef1X5qAvgQa~|WXD3y^=z~(DA z6eT^AV(GK`{O??w7v;5kSKVRg{OZ5_$)85rCrWgUeXh4>RmN=G^7>*OJwsR(Mr-~x zUshW;hNTfhwU5hXeOi4zl#B^o4B!u!DjscV-=o!k56QWGRS{?^-RZ|ru9gnw=d*+{r`;wYQ> zET^H(<{)l8ooa*&*vX~5k0I7a#Ee{FR!ASv8<<&f%xLl!B=EATs!}6YGuvJZ5I^+( z{ccfNmrvYVi5dS6pLJcsP-ig;ZpEWemP$5GUwrn4MSE^D<1;KmvOC`8AoNa?qtG9K zqzLfn8TnNVV!{mOsvzy?!u&Fc@rE3-^fUGCE&O#b6Tn^m;CQ9I7|Nc9H7LAUp zB@0WpmXV&-u_Sm;1Z`V`YEyg(nxAS5&@92X%qGYdTBo|NUio#cN6_dxxAUVV6({Oe zA@$O|%Wp}oaLgtL0|hTlu0fG*;WT?gob=-BePdpafLM*1UHW)0l`@Tt))ti|(GVwc z__uEZf>t~PPog>n_KqUDvIXbZugR;^Mlts_-Vxv`*)Qbsc-s4w^Qn%RcW!g+y8@_C zYkrsF9EF;7eotOa-6opxiWj>v*ssx*w>_>pM3)qLwSoke_+LC->@qq-;OXm$Z&$^} zr^`F^@`X~U_a4N;(Yui`A`Q%kdD;=RYBQ|W0}CU*)V$EWtIOixUBRIx2^YwwnD zb)~Jcmn_LPInMq=(XzSaJF@Q^lY7*%DNRl5>Vb8iDX!9H-v&w85`1tstf9A{c$s@A zFX57fXPPB#jJ(+((BRH%v@iN5e@>T*Rwu<-$&|3k>CcbTFwXDb`bRtZncE1JL|Z2v z2GeLxVy?eT3%`cx^Fqb zfX9S*#1vVFhfv>4^{P$j1eWW3dO7wsuNr<&M{cK!3Wux)Ki~55^0vPa(>sfc$4fB0 z%S-=3Um`CNB(AP<**^nBJh>qlAeB$3EnJ5uultZLg9A^h{|89vA2YiqonJ1aOh0g$ zjg)N1bl&#Gr1`knDpzQcI08t?NdcNR3fYaC9;!YjF7HxWlg(1G8IoljSc?zz;%V7cN)c)j`nn*5Jqtr_XR1VHpU)aMRBfe0*@C7Av>p@Xe$GNq4fU#A{XPE6Pbo=8o8Uc7yeKbDRo=cMqg8% z@%-P81PL~zftx<3)A=p0!wlQD6mM%h(%JokyXp678i z$D%Psy(8|j5ZP&~jqm!&WB$QO(r$y)?3N0pYv~v3FN21hU5sb4eXxi_OpedZy!Xgq zUycvLB4;RUaAJiXDH+1+B+v;`5+2h25S$_j!l^yz+)>xG_Kf=1GJy@KY9896s(#C) z>l4pSf=sDT2x1zo3A=*w5Zc6`L*o*H>JkN@gGH*8-aEy-A-bJ2>2ZhHeDD=f>L~-? zlA5BsD4W`97ah4dysGVq7N1ZnLa)oBaQq3jFd>2F3Ii6a)SfRG;whtB!zrVUBTB6- zxx{Wv9D9xp{#z_2`&A9pQEn^=u51NVc%90$!ExbHlU1-B6l8`}lF79-b~VtV&#oI8uq7 zN-3nVKpK^S@@kPl@uX8E)!i5R|3brm&LjqWQ4cj<0;LT#;CW4i{Eu z@f1Mz_SdFzF!npt14);XjaFGovbh9cot-&#SYOiMs+M8ql)N%c)lYD~!jI6Jy$inE z(bPU+F*PXlM+%`;T4pJ(yTNhgq2 zXKBy9UE6axcmvPgHETtFH1ScC!Uq8p1e-tMtWiD*TKdn~ya?X8tk2R1s{SukosI&L zdxB^kEl8C&e-c$D=1dtcTuD1+3}Ee*9jRo=ubHX*t3;CM#ok_*l2|sB)T_Pnj`>-S z*1lTNeVU-o@_3TAOg*AV^h45(SDA9F`T-Ah+Cs%{5zB+BA>@wl{wfE;LXuRfsjFBa z6}cH56H7vc1qHbmE=B6TojWsUWlQO_& z@S7FGG!BD;a~)X1^N%m%*~sL#DCk=x11Ig+X=Rg)8B+EyNH|GDM{j~Sqx7Z+yIQAuRec`>+&0qCT$$3)*W?>BQ{_aHGlO~6f~Vo7-lv* z(Et~lQr$+y^dk#d$aw9(t7P%BkMK?@zkmV&anCd9TIN*AL1JEMS43s_tkHvO&(dEm zye1n}4~E4Ka_Mf92J0DNe;RaM4-7v#ejNJr8ChkuhDI8&lHHn=mqXXtcKqS?W!p?! zyp}HQ1j~?k24_(0-;+#O9W&3)17M?`{_*ygz45287lK}nH$U1keSP-w)M}0K*#vq| zlowWCy!VMp1f_$*C6SP;Q5kvQ=x@-i2g;WX^J7Q|OqjfbsV$^KP}@sMh2!w_=KKpG zk(hr`h$}!=4T35A&4PT?29~tEmI9pwU>U5!L@jM_KHAmq+N>^Q0LQHfMT(=#dJxH& zw~S%fzZ93Xy!n8C*&PhLuaW;z442l=O~bW#gYv~cqFHD(<*J=%1NGj;UI>E;u%bWFTV>u(-DlN+F;6|g zJQiXKr$Sc-v#Y`iZ_rZ`&wFDLiv;9pZDYbNxH%eFmKBZq(hF4q?517?|8#Cc2^V_sy${a=s<2L?Vpy`|BlwHOY0)m~Ml<+IJ5_(#<6(>|aK3YTHg zGE16U_y~}O65tyn;K0x$eyXxnpTB73<6qgpw7O|r1=$5mtt4S3ai0f{d5y%Ajo*tO zQr9C&j+a~u<|_YSKr8Zw5}CkB51Y!5xDB5 zfcM%vMbjKw07G$|+o(9V?E>4R)wj5!TH6K#?7n+9#QblkoGrjI$_>fT06yPnGi zCfQHg3?RnFY8918X16@=4QBhvlAMn7K4UfXVlqTl(FE&ul!B2_lz4TL*J^-1j_8@B zVWV$l%$%dMqN;j5Jam6>WMsy(j3<4PY11w}X@hp&Egtb=s>t9?aTo#d0#We~bNqIq5bx!M0F%TA>8NFm z7A+-@n2wtnrq;)U!y=4Ban&Rpyl-3?T#2u3=6|X9{HhrsbxZJj^WbmwWP4&k)bYUc zi&uxSb>4?K&Gd?Bed5jwO~pOiD$!V*eZ5YLKriEPA(KUx&`FqU@dU`mH1DLvx(&#N zMYrE6X;0-lT@tr5onl?DFmGlDk7?uuW4{rVP5EM`xifxye=7aa$t9Swn)fXQvPkB; zeR~5=(hH2GuwKU8Che7i@3N{64yM{i{2}qXn8h3s!qdj(b0)wjr6+DP9CI^P`;NGK zqQHr>kxpke0-rfi{+ZZ^mDwy9*R5Ht<6(yE>A~+ZtJwpEOQ++)QIiF5z{W9Af0*cj zd4iq2ZoD|BcqPhuCha}rTm1)?6*&Xvz-p`6l(sGH%@4vQdKY#+QLM$shN6nfy}Jx% zae@nrA*|P%k*~Ti`|njDwqKniU;&Ne&Idy0_qWWRkoc;#NWX&vf&ZnXhhICQVSOzK z#c@nCH|KBed-VF=h#6Yde`-F8KWh^ndyo1ApO;kYNt_6R(9`b_SiW)h)T(_r{mXc~ zPfc(2eo0+k9uAru8{N2q(2R<~)d<3SnlAUcZf6DCdX{dZAPrXO&({G_rp~qP4#N(u zJ8h1tl5(V+j~ltCci67)(N-J;z2++1!)m*}0K0l*wXR$PJF=6S(BZ?RDbBFot>jNa~Fi za@ms2%h+0_R8*oO!Il)d3Z@@FiZ7x)W?(kGPM9hZXGyw=n5uecSLj2+H+74b(K<=~ z6C+>beQd3jD`vzPb6>xQ8JSYz_@10(D4v^+$yTsigPzgn{%|`%I`Ctqkw7woGRe;e z^`F0wJ?B;`Oy(KXkPF^X@mkcVJnx9OK{{qn=)SCHBL^QAUTA29VV!Vdk_@E<2fx{$ z4gB8mG(yVE9z8IrF2=ds=9$h{uBDQXh*99Vhu5pWl^9mu)t%2z3<_ zdcGq-IOSTy50Y&20?atTclh<>9PI4P-wcKjF@bVaAOl!+LT;KB2GR&yUn8HSSf2mI zpzExu7g>B0aQ1j>ur!Z*o9MJ=f`x-4>FIV=zb}wK|8t_p_vc*EbBZ!)?*jYly%|&2 zNjHj-IoVoeaTk*I-IZ=Y-%^H_rZ&yuNlmQi)?pyn{MjUc2YnSc@_IxJ*vQaZrGF62&@<|?2SKTU)Mu2O5 z%xFZNX`2$sL=<2KQLjDx*Y-_Z9UdAgJ@|9)B;7W04|aUH39~lb5vPHuLayzY`!@5j zR1>|?b}zS5#(YZ${E*7Sy`SExi$Z=mo_oL4lsnGGa+#IF1@Ho>n2{mu*(HvoFJZS^ z3FW={*9ug7tXo94vlV_lBmbOM4RZPpQy<|Db&mopp3GEs7yJPmmz(3WS)H+~JfM!Q znA$|NNGaD7GLj{N83L?FHJ!KhdhIJ4@VIX8_PtwioNqA6b@IbjyyX8FJrD%8MdhN! zP^CWon@Go*+iEU}kG!VMqF<@VFArzFK-9kC5WrBLClY?*?!5`Y&pjz&|86cVj^I}8 zA=N!Et^s!umn1NP9nqssjBZ_$f&3>}kag zCYS?9fcVmqiK4o?z^w=3|Ch7my%{^h+37lq+3mfP_hac2+@Q0X3XBpr`G1>z^4;k# z{f%I!h;0FPX0%}_9&IE7m^}k6qnD{sMz3BY``p)AtoZu`9tqxiP6&AB(!8;KyTs&9 z9(n=Q_%#=sn%R5OoF~f2V82P9eG`>Z0Wwk26Q>1~Q>Bj81u9sKi{YyV$Y|Lt(J~xT zB{v}BD)dF|ZZGRs6PFpXPN$MVYf_X=*)fI;mWX(4N%ZV9Q!lo(;|C%?K7AJa$V~2L zJF+&jd%;>=6ZUJP!^*2~YhMeGCH)7kpn^E)1*u-Ca?<%`$*o2u>n3*F?{Bc|M4hbh zd!tboDx^L=xE9|g@WmjA)E2@XR9hAz`2%L zLs>~`q6z3{*yI$-X4D{K)a1l&+Wz(9@q)*gT1^-F{9)sYRjQ|__NsVi5#ks#xjawn z-9|L~>KWirYobWDJZ+*v*3HlBemi|}zF^iou+nML!&vAfWK-3}W4<_W!e1b{UR^@f zm3tQUOm~}n&$FYfTBL`9`<~HlcchsgD@?iQlHVAX9qNWq_*qzID-+@<7Y1=m+Xox< z%|GUdIMdbJ3@64*JnJA_g0!8UNBJJLjcL}Ak!N&`)A*Ayi2~XzjxUZFU`{yb-tGGT z%oWqP%$`F1^Q^8U>~al^jQLpQB(nxJ z{B2O=w9cdx@QIqeq~Ooz6I4hpVUhI6Gj%P08nj@s?L!XzdqH*vO(>k z3AqR|{V4u;dV9VaZ_#Mo@`G2@e~@51vVT%TUNr%M7dSZ#oTm}12@M-9KE+k2pi5Ca z)A!=1v4C&;niwEsK}SrIl>h?yiJ5Z4fWv?vR{9Sg0&*TF(%FY@Sv-A4=AB%6tHhmE z7;16+bA$k2rQr*4-#@ud7lsI>GobC z^f%?3aie4WAN781hVrM;3`VHlkViI@muP|{t)mMv*>?{pB%V{E*l@ac9{?%-iLCw&&cFKFdlg8 z7JPb{+x);4wcO}9o4Ji-n@V$c@vqwAlilr#E8;lfsLk@Q<>c9aUiAO>xZjBXtPTkt zt2TMs`DgsKwKt`GPy5XGz?93@#^%|Vs9ju5y)bro#6~nQ<~|d37Y0qUa7OCcN`~3YJVjAk2Exq zF2)Jl73VySZ_^eU!HTUl*kscO7aREyl4|xp5~6Bg?AN!kpob#CW9r2Q)nj`c{uFi8 z4K3Bf>&4m4p<6O6EW@es5~U1!y7{RTGfFs0K86NJQ7NIY;cYeyOOW>af6-G44Yc%s zX;nGRz7Q^)sWX@DdrrT2vZIF`i*rK8sv12g8o<12@qB!qeH_pOVKx*^-d-}G@aub7 zO=7H6;X{^sgFabcF^Ga^oACT1+tm+QvVz4bV=a3eTEl&+%eTWq{);E`6GSbeY9T_# zq2^mvDt9cV@<2*s8MptP8My#P%YwJiVdcmG5^;Mz^a91J-CYfioG|zDD5f8;cy}s2 z$)8{OOxat7JE>DkfyO*p`Ggt046ABeF!?)y`q?BpJ=K+}O1r1E-to|*V*fJAHRF?I zaD(&WXK)tpJlkQ$5^4Jt0M2VrY8?g|Xq}o_cej{M4hwrYfT1^yuXn5W8&d`2<$T~% z08}XbvD)?xUxctk>ZR^q3YYzC^y3pwB@ z^&5DJ@k&~#Kj6K%3|L~bibM0@8JQ8`tNx1zz}D+vGIJ3CKoBEU$QgBK|&-~+@q(@#vjWo zPW=tn)k!TXf#L9OnKiEsfs^*w?$*^FYkL>!z#Hi(Q%lNm|3%u0^$x^2)nbY9>?$h% zCwsC0&q^=_Q9Jgu1vBrAvG$eE8mD!%J8Pkn*~A{A3QPgqu{CZKxVtLFn>w9_WY4z#QBYc|BBX;_+b$Sjc z&NFqv+dEvD0|~1$eCAVsrN4Oge)UWi92hNG{vB-E91=TLq~24DhrcSK5>vMB(;W^M zRrBKOP?iLrH+PPNFhxLGV&v#K)clVVg^lGCKQ}?X7^BeAzRs-3)a{VLU zL-a4CJ(e!1Va4>X?>mLIvSRTtW8_$4{&)EPuTsUkx+*CZ%a_epZVeCHrphF8=0P+G zKFYzD5LO%NkM><}tIS%Jh)2vnRSMNgL6j2jFTtqw zU)(4ztYX@d$}%vc{gL+R+m`U{C=sia4kmeK{hFe#(D?ptvR{DhRQ$>b-`|z9qEic} zcaHklzS}+1|$Vj3=&h#woxsdOjruKL#Z^?AIu?BcNMDdrP18_IibKN{!{J^N_)eyxp*t+Q+Fc!X294r9+cvRnlj zH5<}G=i7w&8v`qiTBq11rStI@btD794=a8}&UvO=2>W5PxY9~Zi!EY3y1Yap*}2vo z+g;Sn^Q%GsI5n@c-Cq2k@K@EhTGZnWt_(bGsXDVM%B?%7Lv?V5q#AD?EDT$(J^JvWUpPPItG`&h$bKLo8S-9_p-6`>TDi8Mzsr%`|Hs36 z<{=su*7E2_*j|gx7aL{T`3#F%HWJ{EBq`?DBaDsQrh`oRy+1a!_IV7LTvaPOWHVr{ z?=M;9pRzPL+X_|R8q7H?w>(N;vG@OqG}?#J-Q&LOT;9dl)gB9R+oR!9kF_@<9hNV! zYNk;aAAZ}*@e~T)MA$MLNI zKd2XtE)B~^MwyDL>*(9RjC)m$wjB2TF6-YscL5r$60+4+3Fxo>kF2&T?9EVs3Mt|3 zH7EX0L7IXL9XnlzHD(78&CBC*R)ZfFD3xo6yNBFm9_T0;{k`Gv*3xl-vnD`yDwm5a}*mqI{DIxwP~(-MEmwK zYB}p`+u&P!GZ$DVNifYjq^HYohGiFDDdF8_beM6^#dDQ781*HBO> z&bGiUlSgZ~&2^M%%myMadtQ5NRf%d4(5`o?P>NjD-iGYttlaPocXQi9VEk| zJdB@F?}gBN8Z|@iGa1;`Rr$6n6Ag4*b<*_hq>*FeS!Tc0SoI8uy?N0(kcUL-hcdf% z0yrb^1qCEVFTRiEJ$~oyVAgD8w~S$7$&n@AJ#^isr2NN&u>K+^X(v>-{z;9PLE4sa z*-3rX5;8JiP)#X6xsC~BI(Q}P{UM^RL+@rWu&BXq#-!|BABS{^c@Y!W#ei;Xm$%Ni!xpfzr9&*zfu$uGf2cKZ*ee9s4E2 zqBfdhi^M!YwF>+!tSb9p4%CtQD^*s;GCe|_NTj?wXlR>D3tVhS;4p1ULjpk{Cgqlk z9(J6SMoq~#$0ATX`S*bP{pIHL28T&41SiiJP6hf|VVFgWNTRGmSXVPWzV60R7Qyt6 zw+~pK>4&eq{$m=RH8Bscd3=c?fYnnV{5(uTtaCQ7(F{(m~~>b~~N zA1eXQkNOkZlV6Sx_*^Hk1)!D9D-P?DU|F=jTW{t~vfNyJt`1};@~V#PQ-N^AnW6vT z!2i1qhkU(OGPTpN(^OA}@BW86H#~Oj<7gu|jS`}x+njZ-#rzguLlRAGt#oiuY4Ih- zqD8f`QZMXnkc&sGjy%gXO3We#2FaRm5(sTGKY{O`E{ZCT}djP9_1^BTR z$a`-mb#*^i$^#G)M|yIEbBR&EQ&B6T1O@8G6*7vqLzYLDxo!P3X>}-iS;Z||Yc^!h zoM*mIrHiv-Sk&&ly?$jIS70G&k0rh9)#z4iijHX={EkLL%jxtz4^DTu>*vcqkZ&I` z2_m=`SC|V2;@(i_$pMb#Q8y^BmD-pPJSPgXK$OJ=`S?xw8k;sUSUN+Ed`hpSU?Rn@ zLBJ=UZEN}m3I3TWZGC3Qi?|avs4)kmP>bn$8tAN8YpiuJGFSWpfiFI^hoZ>R9SKiwZsaX-G0d*<}pzRaLeGfF1Z=}t&+}lrU$Go^y=Tg-qn@Zz>2qX}vP%n+o`m{i?A*{*ur8|CpzGKB#Km1zm zY5sbhy-@9~OX%;Ldv6I_QLfWZFWxHeQ9oD)coR(R-Q75-)LX>%mkQaV{U{*bu4xfBOkEx`*3OY}vjmm7f;2V(m|vPUJ`s#uQ6 zN(4pEKWB$F3?R4X>kHKGQC8-x;_OvbSWCtPq;USo-OAUS$6J#OoGwK};t=dnhW0*|S+{X1dI;^P_leV&VNo8eeP+dUWW?RR)jK z`!HqLvO&}=%}jR@`s*MouV=){&QJ4SijFz6{O*p;(dkX44n)RIgAF9DXnx(Y$ z{xJ3bl9H)$n{ZeKpL?Hf=2||m;A1&qJm2rE0AJ%v*u&@3R{3%WmOJ)l9OS)tf29>O z^H1owOgWQ7Tao8@al88Vkto8I{Z~nClqKQff!{}|*L<2*$?xD-dy6f20wukm7I0RW z%bX;P+?2GmmoRpOcR^V@`WA1j6cv7zKPzx56YJl>pS2#JRawh*(TD2b)H#6yeS?w@ZPGr1Dnc=I7F1Iy1~w13j537$NqqP!m9iLqW+~IhPEmV3ZB`d9%H0b#zs=^_qLX#+3C2@r&$q!O zfU(XIhf&?!7^~-L-~h8HQm>_BHDVo2`fJ;{@1Z`EN4ZOP2aS#OOXaNjy9&oFK4(UC zvFi}#QmJhs*U8~#rFt9ot;1^Yv`fe5e#zJ^n_>ls_+l0h!{ zLzRso%%J>F^uV^hDO2SlUpjhTpj8%iiAoN~f7FQbYVZvFilQ3AmLt-fDzFOr49*lZ zLqHef?c=66^8_e2N%KReClyOLWk9yhv_q#I-*~C0hB}JQD(+2I2=0sO*`U9ajwnn{iBOT!7y&HoUb|3z z)||D=UQu10pNBiFmAL%A=QscXN5-ta4p*um`g>$%atbh0ghXIo{Smu))O+NhSLqK? z&~MTmab_;LYG~>mM0k~c0ZKXj?!z`eWB{QPifx_?B`tTEvh#forbC0EeZKP}}|5-aUmzc}`&z;cHtQ|aqmIpRK@s-H&=m5!;@w;uNL)v59 z%C0_jIFEjAx0f_U+j#@?UE}pGiaOmm>LBhFqkA_(JAEQ+chs*=MihkN*VcW#LK?vr zVj*=G#Q|@%z1Lt?W^~fDbRqqr0TZRhYLdMG#Res4>JA#Ssgaf;12VZf$VDL-Z9Juq zsXD^IqzC)Sgm~tZFE>`h$Hv@>gZPhV!}6K4CP6efZGp1XmRgX?jyRF0^2 z{({)-x`FkklXzhDG#_K=4?V<90A5~;Z(hc0#2;P}qPGH<yeg~=+%!7Z#z`DG|k@uu=jmsPjDEY-7Rq>eai? z{3R*>d*NN1jQv{?-TnSUdxuo*C>OQLw*kTq?>8Ny zO<7WZvZdNJ)(>y`s8q;@eb@oje&m#kK`Sq6ii{cNwMCb0>?lyoG**!+Ea`anrlg23 za>QWf1$zB+bRUi!-q&Saiy5BBO|A65vA}O%gYlyC-S$&|NEFo>uItIljJ|!6al`W^ zd|e~tebD+gzR_ZY(vf$QQau9pA5OuwNE!C^`TH|NrvFO93`Q}Mu zE)~fjGb9kz$xkx`6*=w>-Jx9-VH6q^NEZPla*>9@zZ@Kod$x2SpJH~z0dOm_mTN70)H9E+4JO5!$tb$$R2^xPas!Ve1qgsO|9`) zjMU~8UnA$1N5g1ljjrdfViL-*=RO!7Yj}+0Bz37SHoDOLrwTg~^`1S|VDLeu`A+}V zAqB2Rq!*#oC_!Bhs=M=5nM*#C<46<^W;j9kh%w#FyRoRGM5%j4)aK-0h-Mk$1521` zBNemH!=dhOi2lfTrt|Js!*tRloK*G+FWb_n} zk^{UX=7(*6{5bzx!$gPS?x6O&^5ZpW8CwG6-%6PEW6ppk-dw}E=sJv3%$fB&zv_}- ze-@)D!*yF!_{NzAnn?oo~gNdtR%Z@AYlC_?%D zrx#hHOp<8{AP6K;)1OGuEomdj#o|Lasi{8zP#y)h?E&4lGs)z|%;J|p{*HS_3~UnE(w znX0U~wC*h}R6n!CmJImc%KcYCp0LdWoy{>bNgb!5T$LT6D)RgmJ8C9cO}q03s=}L| z^$lTfzNy{RIXs1My9}~sXREu{W=0D}-b8$|FWYwtlmZxP>=Kj|3sv`o^rX}d;%S&l zR)O_&h!A~#kv`O0q$@W!(Sm95BXkkKrd0+q=Gu#yQ>O$xz(hXpE@`oq(J*`ac?uA7 zOA!$WvWDhlYU=)Ms2x=5I%x{m!OsSEXcBfMc_kWD7(OM!DlUM7=?fg2PoJl0iJ0pG zic3lrlxJwf0@L51;akxprX_UP0;2s zYd(B6D?`1aBraxLyR9=g?t3GpM9aYi>0+&7JZhIqR%SPjebVsYSEA34$8O&wzH|`L zMgyfnJ=sXMdp|t*+3nMWvEir$JsJ1-UN$7_9XuuuI2Tx6MeaK zS74zH+(3Lj56wbVM;vd;+EROt65ow*5iqnve7f?VWIN7x8me#8C4V^C-b zW9iE28(~V!(PY!^;>xm|A<%Vul`}1vErXr%En2bsSc*eLS=*M*^8Z(wt4)W{fG|zA zcW+6uLdU_)fBP7%))9lFhK3*cr19)Al(le}b-_ewsbMMv?TlXiT*uM9-eGj^OCx-gT zdP`kh-3~H#HgI%{+F)hfB-)sug}JhCk0^Uc4fItlV}sw6_bS<1Or5*K=RT?y{@2P+ z{nx?a5mVcOAH}KY2G!RJ{>ezjXwDg(CI_mTRzj(hQZ6P$dp{aHTuGf5Aj5A;-q% z#r|_dicz07ggTstajucYZd*lL+V!~7`{6?-E{0U_hVr{2z5I`6>rAsgL*eYLT=(X| zPl$hTjDLAzt#kuNYXeG$xq1imD;&lh!|&*+HEJ=>B!xR4Z?oMmbo4UjUWL*d*XX6a z%4rO&P_C<=j{mu{P+xlB)AJa*i4dm@&|Yk?2S6CyfhRws@h zXmCeR?_}~&eg^{F&bG*x@?K3;Mz=~S9biVxX5zEMP~F7^c^O>fa^(4bFE%hMoc2Ds z$M-@4VI4>&d+RJtxko?a0iuZg{}6;-ZQ7~2E=1}6SOOr z>uXc>SasB(a0EKdI5yTL8OTIFtmh@o_ve5ocO1^(zqq|Zea^CANXjPZDvhtt*F z%9-57A@eUjZLuC_#UUyN1peY0FZ_tm`Jkv8{{3Ru6&R_c;(%58FHs-a=K z*`F%_=(AVUEN}`5rifrYV^p+4K6}vA(O}*Tc_DZo+-bAbjIdj3q(7nc$#FX}4uL7T zeKO0pGm#smW#Ac~2B7H#no3-f)aD1=4A4f)da}WOhjf)`kzoAv&>16Fk`&bt0DCnr zUncI(0QNkJ=fU5KaTwn}psO)64*$eNx#Z%SetiG1MX2!oNYrL4uGNr(lvV&`;;OG1 zHprP$+XX4oc*fx}>*jrKsFQ9#|C6cMi+yq&5L)tbM6 zX&U==7z%t(W0S^Y?5)cv{`Od#1ZO_0Cric`l0wN?H!jAP--8-0W&IJ2a@ZHE|;!-Y%lL`JfXf#%+7<-*i-$mqw7TP@U_Y6gO)O z(RD!N}}amW-$;8$QN0(CMYS(1>7<8m@Zl5PhCrngHhKBNTlsuq!r&eTG5 zSz28;u88ldL_1R~RjA71Dn_Y-S}(B`ue+su#!q#K35fmTgtDp;B%ZpgK?W0H?WovY%&_aYaQ7iV_Z56k5*FU?+ZDjJV z*;l}$84s^%qC8iWE(}pR|EjE;vSD7u_h@nECr8kFef(%GaH%DpoW4Qjh4b%uCquJn zdx3$$^Cq&DZlC!?N;aP3fCs;GudQ_&W7O&6|EWd zoT(Q&ns{TgJ`s=(fV|g$5GcV*;pZO+bQlSwgoL|&A4Wz{LK+mRA+UT=jueJ2wy7A$ zhmNJUk$A4jC10G#zvvSgR3uPqs%I2lCHxG{?D+~a%2ba=mwoWhxX`4l`BcLC1bI#q zC;NFnd`NY5@8$1{LEl97IPN|z?*wE{%MJA9ECza!0$mZ7_p4A-ct{m4fmDd4aQ)v5 za+@*p1K@;9qB-a7!~@q6x&|^?HyY1~(F+)vOc>sg7IBoD_8gNoD2?+bgjh-fo4SS0=`U+E9}ceP7o=pK1$!myso2`9 zQ*?@sR9?L&QKyYUq_Z>=8diF%t980q(h$O*uAQS@{Bg=hE^+&RH(5{$w|{xJ0OXC> zz)@cW=3$m^H{F1Uj4`Hab&ky`NPJu|HF(jL$H?C#$&d;y5mzb!Yx+h z@wyN>OoN*l8^p>&jD_a2C}SHWsIsT{+xpMHRc=sBf{_Ug@`Yrndd0L?NUPyCK-}5& z^uYKY_O10plYt>(pYR)n3Gve6w*d^rY4h4D`!<}~66A!@5jO?#3^6frlkA;}J}O|G zrG9&&?mEN&7bavE7Vs=R3;jfco936?uO7caP(gC~)rYnTO%C)SgUKiy3d=u4q4Lcm zBOwEo`{*|(5C=$1;__RU+_eRhpH#n9G!6(dFElAIApcBmM{^c<*hG=Nkz51>l1{Ni z9wksx-TsNr`izKrC*@eollBHDs#w6}U&suAgaHs+_%2wi*E04vjPBK~#Aq3>1fxDH zS1wQ4m{_Mz((cR_BX&{9g@97nT+~8^y#aW_-8ngTDCIfY>yi5#%v4{tX5_Qy#iSht zIV?^xV$aZZ?7m6iij6Jpr>Dy_=HpevKcnG|#xqT^{OoSXV?NKc&AW`UWoBhcxT^fc zCPpJi25g8w zGk23`{<6va>uLgddPh0mJof(2TefIYTPQVD#5dYP${Pms4gv3wO~ff87S2ICS;G(^BWaZ90M55^jsw>UHqmz(41oZfr!lrBxcsx)nLlz6j&_Rx z!~-3l3QP&~g8wArtw>Ej?frR8@vTi|f%pK}6diIR>XWJ_cB_puf9$hZO|3X2<5WL) zvV4_VE%r1a#(}D6{8p8P-=`*bY4ppoH(Li~W9w`~Oiz9flVs`+=5 z1nrWA3lK%6u`^5vT*4p;EFGq4SnR3DT4B{Ck3_;8$TGK*ibe3Jw{0LZ_9QkDLb@1q z#>8M(-XamJVlenawn&7^scEg!y-o4JDGL#I7IxN<(belwlBql<6=WbkaE}kPCj?wIRd*BbO|OX z4XRwav5Y2ANdan^rMbBvXdKc4>EDa_X{0df3=*Yl^0`sbVqrn+brg#T8N()SIykpw zlCwu!JKk22r`B>>6ub!Sg}7rI>AAFbPhq(yq!_IH`Hjt#!gZ0QtAVH6ACHx#XZTe| z09~M#C9h4n97vJ}5mwZ81TgyXLqa)x75 zsr>zcMH)xi_tMw_I6N`Y#L4NSe^5YhfpH*P%$_^Y8dB2#H)$9xchrbPgTvGglJJ?M zC*mzn@5@vB+~7ZxR}=x=>x%d2Oux)9EEGX6-|_iXRwwDOq$_?VsBuLPW2&yktP(Ta zdnLnzi-+$qDZGbK9QlOvQ+3+%DynzTku1Q7>&6jPxErP)xMEC*tZz?9T{@`rjNLLz z3P3-b6e0c3-xiviJO3JrH|Zhr3|BkfO#Z|!vD{KH={6Zo7@sB|$gUf(vez4L6Hdne z#?Fi}UY1T94{T@B`ZDw;bYIK(o8jm9(jPwOorr;&nbc4{O3*oLn*=K z!O59y!k2rfHEuKE#PFl-TC;4={mo=h8m>4|=_z+6Z1kTb+L(%sq-0($jn5pPo}t0J zORj$y9%t6DUa5_n()^^RO1L~K&vbLIyt;|A0>q+Q*#KZOY)H%#^=Y{1bbvWo-yOCq zl=HJ~#?`9|Tpb=K5IZ9 z&j9y4q+S;zq9NmuBmoMx{%7R}+p-xdmQENsbapW`PPq%(ZJ=jfj;G^e5GWjr36DmX z=Ap7*vnOg^*iN+H{#GiMy3<8{q%TeuuAxg@VYk^o3wXT68 zG68u`D}-4B4s?}9O(}=%hm3L*ZWYkU*TkRAe;GXDzwv~!gYJe41U-u6@5cTGwh!-f zbW@{p#}lC_NzOpJ2{T@?oi~Ns6db zgklRRe)n>mkwj7A=wJxfl>6P}(XsuW*SR~9=Z75cyYC^;fnpZDVSc!0>Lqzoo#6RM zXap&EUKcvEb#!0NdurKiL(X>Q0 zi@q`GD{;fwg!`hxkWzJSTXu8d?5wtl3mn1^KV}>^Y|>oeu{Qmb#+t!l!~9dph<3H~^o&&~WL&@mkUgF%18sEGGiW!yA?j2!sW-fH;ju5?7ayAIcwB@xJrCi(IO=CfrB~42 z3yq7F&cmHws?SG5(MW^N0+zq)9ISYbj+dB!sU3}sFxU9$l+*9zr>oEvzL$DcUa7rO zslU5ibK&sL1}}T=w68BxCSj>3tC>^(6EMVhgbk83{S8@eQ`{s-p*Kcf6U*Ygu(bV` zrJp2KIa^C4vtXnTDE)4yTAU)Axh89EtLw(c)#Fr?f}s6*CC8Blgpb)0q+eR$5o1#Q zPK7ZjwC*pbDWR!FE7zU}2$vsP>aU0Az8k5O`+``ycHu-UFJD$>V{r4Xb_Y_+g&bpH zApKAtzpAlQP~?TNl;{NUynqtDxr&Bp_Ju~fJ$?3c6N+Pz`yde5#dRyv+VssziuA(} zS8XT0+j>h=oJzmIxQk^@cI4UNaqTJS|7i`o$qG_VQ00wyfPMSVvkuv3Uom8Dpbj;^ zD=YD%BW#xIqU-!t^_dKw%G~LBr2A%y?8ZMEaNQ^v@a|eDWIrWqZzZGyQz%mSFcIK` zMzi6KYSRy8EYlfy`i18eA1e&i4`N)!K0zBa$|_?a_6l6BNUtXsN1$<}uLXasaXfR!>#sR!q*7%rSKR-o^tw!c* zKx)Z{yx2C&K!rC{WHyn`8g1z6XbZ)H7lqz)uMdu1i@b878+CEVC}=49>h^$D|GLDc zi1cg_$IY0+xp7VxbyINMM7IoWdc+o%_>clOXLj+i{)nFJ9Uf`Pz+Pt9gPay!y!Urd}u zDnS&`m%fuGyh*2BxP)AG!Q{`jfEd zk3nISZ=PK>kf%(dE|3B~|IJepaN_dTW<;P-6)O3<#Re^g^wy$r{JB1?@LqS*-d3mk3xw0^9Pk+@Sng1$}{Yh^y(?g82M~$!Xtw2AKtA_R^XP+JUJPE??{EA?!{tm5(h3y4s_oml>`rG zQ&iMj%^!`0%P&#Wv%Dc`{dXU0 zGuA$F*r@e;KdaJ%bejT)6l%6TurOg#Fu@o02Db^A-0J$Tr`LVwXH>R%(7@W}be#dF z2S?1brFnNQov|@vc{&Hzz}3!_RRu-&?UvGR(*u89z<_1$6=dUlMlJo#<4xkmhgZsp zu{GR0HjM{eO5z5eJ=$^tkxbmX@DcAowiuH|`1W^T^C$7qttHUaveDa#8+;s{VfKfp z;fl<&;<`{8#tMDIs$Z-|UGk5vOB(#$+&-GRT8ZcL3MkF66)5KM&BKdjN%G5mnBLtg zQTEW?*GvlF1{ds#mjmQ?kpgbqUEKam`I-LBgY?hOFW5O8*s@L+nO+zewJj zlvi5zperh{Su(BKn2P2Ku17zfL%-Q_2pyiMee)odW!mcSp(L@Ti4NsPy7meir(u<( zNbTmbDbzS?qhJJ~cWdKejiRX5^!7}$1!-v zR;wY9IjQ9g4^%0?>tUn)7{zL%W?pVSF7xm&IVJux5ottVR^)+HU>LsH&b7H315^}_ zxj6nYs0}FFv^u>9HnET8iH#deuMez-zgOin^!!^a>;8!U0aae_Z-7NooVk3p{Wm++2nmxJp z2oBtlW>VzwTWfjL<>v6KX*QieuZ1i=B+UOPRo^C}vepcATD<81uA&>yYUUnbZ-j7( zDyQmB@&hyx#{V`ivcmI;8UnFNd!d!SlyaytBn0i=MU2;sdp!7Effwp+=K*N9SV`6N z0ajP2pCn%mF~%3~+vwUh9n98Ovl_R|XW_Yg{DVGSYOe@uYuGQrcDRQI{p@988P>nO zB4~$YTN26;4{6j+k=YQPTh?A)I2IesuqfJ?)JQ{ZxA!t8lO%pdV(QA*aMIe)ZF)yK zluZkLa7*tkPSsHqpUbRx7E#nXR_S`Vn)dwggQ zWuLTOy;0vd=<4|2)>^ShZ%hre)`JbpWy%+)0(akdzpXxUeX=p9DsPR*=h%U$8tv&& z)@{LO~ zu`*O7M522nm6-^6VIZ<@l9VNbj~PHaux|>^TB@a%p;VCB+ph~)TSjiegObZAS3bQ* zbW7R>2IdC{-LfkfT$afiGTN*U61R@t9~`$$Zmg<@~$!s~M)Wo(0t3EV~*be;58#Vz{nJ6v)c>CD5K*YerNxe~I~r(MCHmMhW=v#Pol-%atl zF_cZ>{c~>jVlZfM?TW3hf`X?QVZ&U&{x-*_had*CpqqHE4s?NUdDqm%sr0mRzLNUM z;TrX1iQZ%vPbL3T{iN1%{=pMQN;PWRDmvO3)MOhW2S?| zt-km^{;InBvCSB@lEWs&%y_>?=yu<1 z%uCS!&1VjD2a`{=L1!S#PSkVOP2jl5Ap>hEyA23S$o(dA`sY0o^=@Zd9>ZN2M#FH$ zSfB28I^cD-+n>4^t29*MWBNlGq{5gE8Lai387_m7B!K_U&fwO zGW2mY0ap{t)&pa&SljE)a6s0(YahIAzh33u%B#bAB{YUh=0>Yq6veLpp=HDIg6k#s znv7i1zKh>V1YWg2IK}0=4caSSkMVCZQ5IL4Fl_#;Ip`d6%@nZG4bzJy_gR`E_~QVr zNa_OJWi>jVZHo%tGm9L&5tK8k^HT zn^4Z*Voj25&YhJ-Rfbk+cAehylJua9)>&y5>%TpLwl-t#7|X6Gruc9aWfzBmLFRO| znfM4BYn{h=#(2h^Yx_c>52MogMN&4|4WWlsm&&2PIG0o95Va?KJ9re%F+-zMfIN#>5(BASR`3Sntw)? zzgBTH|L)~@HAj)s&;<7loN4gQcy6;qg5aJ$h`kQ>ci9^GN1-Xi`;J0*aqvsM_3W|p z-5L3oJ(ZyWo&Vnb!_lwWtvw1;G~9Q8(?`?Ul2$tX6eRG_Mj@{<)I7=c``=LF?Y)1k9LYYgDK~n&qe~IG+ z-0QD%o$rKYrm$00j_=s1ca^0|IJSz#g46ubgnvj0y!+{yQNBLm7djhAK2GwSlCF~U zG42Y$ERzeEoYrcHJahM4aiSYHYDjVxKB7gA*By}PmPlU6WFrSEKXNlzol7GP`Jy?`yVQi9H-$^Anv1Wnt{YX>`Q2CBNZv##&A zUqG$i8NT(~Fw;EP+Fac7+7S)668JICHp9uNx5|O}MbqG8N&zI}C2u_Vx1mBj6s{X| zxe*oSs2!(ZQ)Bw|+(KpqMf}oJXlYUXa;vN$P+Z7tZQ|Dj2Fr}SAjqO4VogKFBu+EX zkpxL3ITVJ%2)^5x+7qU!NAyeE;{<13sY;%J4CXpPOqVmselL@o z;Ck~c_)JwY|Cb$ofMqBB;P^3RSXUQHEqH22JR;X|6p+`6MC1?ckFKuG_^xfE!;gK% zf8_HHk{%P1K=~^qP=S)q z=r4;kduOthRFCzV=*eu<0r3AH);g}UwGRq<_(s(OS-y-}ISrlZ7fBOmabtf>9GF>2 zlwa{J8v~mBuFE52@-w16#x8C%OT}K`*gqDK2|ZR&S+Ps1<4FCI&r~f2%9YLHnB$rt ziuqc{RrW1Xr8ZWRkhPjI?Mj@8&IjQU6>zfZ?>G@z8YzQlBET2Ss8tnVhCpiY!xd0O-y-M+#N5e*{TADY9gnQ zcu|1CXMtK2e_?d;_w?W?qjG^g*(VqyRTou3x1e5if#RNpGL6Q9)89{-!b1jTbB^lt zadltsbxxNX^o1@C7L-0t8qs^c9aS~oOSN;_T~_I`mNCvCIVy6%1U)ZM$t zjI%V8Ctfsv0Wp5MyCY~vhrUC7`4E;GX@J1^^-*j4e8ePiJ!AgGhK0(gdy)i z1eieN<_c^+V^9b&(KGwJFY>LotH&VkG8W5QpRM{!x-F9Ue6GpXEN_b9%TWopu5qcH z-ti8+@=Ah<q_Q6$OxH%Mcx@0q`n z3AhUjRFQ5P@JJ^hP9qP%o>yln9*C&Zf$L6}-+51$0C{$QT^(T^q&u<#j8SQp6tKD4L3G5ANB`wf@_4s7k4|8Y1cSK$WH84ndF2Uo^PQ zZXnd=Z|}Z#xD}{7m_Kvmnbl1#HEV6Uo!u--Zi8u z3?W;R)7$ff`KpR-^4{E^O>XWKeoy-~7{cdpo8{&HH}H)-P(eQQmCSVMwkkcDn?uJi zsxfoMa6|UCHtUPlKBn&6cHC9<+g#_}4R5BKSZ&AM*!MV{Ot-RVvV!iMIaqYZW-g4k zGqW<7yhjB7{_NM~w#w2fSvPdv38t#^e6$>w3n6pwd0uDzNM_JxS9N|2GjgwUuRNq~ zi$vUR8=>Mlrjk=r>DUZ~VmaN7-dSrIb#7FtrGtFnIQUXscxAG1kEX$ zI+q;OJn-WWe6X;OHg@d=+Frytv_H0ErJXmh778vAUy?c|@KwK=(?KpeRLhs^RywBO zcqLfoo@Hu~SlikvK0Q9E4#6!||1&6Fph>0K{Cd8Ao?rMr(^@b}#PJ^AW9uN(!%=m3VkG5kLeR_<_-I31 z;GwXW)yNH4G2WeOPoK(vM9(I5X&YE#euEKPynQLGU=dhrFlgDh55SxtJMQZD*3>jM z_n^p5^vx_d)0iapmp6s_8PSw`b+w)~8EuAL4bIy#^1tFR>oSJ5B%-c5`GKgQ5G|*K z6+iePnBUYn#)K6;>VRAO;{>X&58+0MYQh>tgnR}v(*i+vEX$qpz>17hVV<6OstAJ;)D1jH{E|vbpMg<@AZDFH79@{gf^Iuzr!SJHU z7%982YCZQGa$lZFCAV?wps3}GOYemJn3#Q5+`a>^PKE}hy~vA?7q-wreRJ`pgM$}W z#!saCbi8Qaa{di5dJC$ee2Mfi%bbu3405Skl@`SpIv4II3xvaB+s3q|%kI@3ms11= zHPmLd6NU_0T{@;-fsw1{$GXEy#7uQ|D}Kd-)7DE-S{rG?lxbR%UD~0kUYZqdYse3J z-o@p^xOXW zoK*!xF?oifr?3SmYn&-9;NO0+>RJa$1qtZvg?4q~k6O>GyWoJH9PSU1$M8;#vi+J` z%C>;k+o#qK?YDVt3V$MfveS4@Z%TF$4F4BFm~xHieL~Tj`y{F9C99$#3ETNWrbiuT zstiPQ#5SMb*-c|Cb#hm?PsY)i3P7(=m*S;wd z=~10ETD3K9I4nmQz-Tqp0e~|8JM>wywAr8X@Hc34{K>@Sb2Otz0sLoSzg!XT*nDy6 z{_p`NOlPYTpPOCpN`*0>krT8cI9=-`Y+ra9c=;$-2TFIk$kv_yX(A_hS8H+UJ=m_Bqb2AVdF3wWGd=pLVYy-axKwQ=RKKJWUrn zw#VoIiu62~*Jwfn`rmzo#iHj%VG+|GcM8jT&pZ1IW1gZi1V%?WIzJsQHt`cqx+?u% z;@@RbefeVZSBC98w}e@}IS6E6v^c0bw>Ta;iV6bDYS$njj3W1HXqdfqf|kSwoNmJC z=Oy1B`HQayb6Euc87jm*Ar1W_*b5s~E1Tb}Fb3l@qE)r+F~?K7Ng11$>IL5UUoDMm z#oxq46$4pw>LGIWMjR6_@)DN{XYK7&wWbRG^zqrz6wFpy)xXVq`BM7VHn_)&^c-aT zZf)J|-z#pFaBjEx&)uj|f#$ya!BT0J|0)L%_^22#nS~Wc`IHF^dKQUAOl{Kc-RK`$ z@K?q@J>Sf3l1Rj*>oHAXTJSw)FZJ0YINEIFx&QaSbnNsxn-=x7z46B~gl3E!oyY>G z@Y@HmyOEsenId|9rm(vMOVX5>(BkQ!zv@81tbdcF{b8H-ZpFTlo7>-H|MOM34RDHT zS`>xfF!W#Zil5T@ec{p>%>Pi7^hXD(kMMq?=(Ijvx)D0qKUnGkU9AkU+EZouT^+HZ ze!2WDdL}6mLMLl-1>`@1l7lMhn2d!VxO9ptUcz0({}XW@T!&4HlXK`92ShKqFJr%> zZ94rubSa!s4giO~Gs%&$8^W;@lRb)__RH&x)&65W{KLd%s&CUBUg}0Os=^!qGr1iJ z-R0SUpcs58NAM!J&GDtjLy@j-wIQ=q)MZNYTENKo2sqah6!otnP8+qsY#&|{#N2(6 zR&w`RvSOm#uzB_rlS70d=;;m-_nPdpt9clUW7RAdbm9|xy*-2FPTe8@f3Ao9pcZP; zjUQ5naSHxr!LTF^m+$iVxQRt)m|Hn^f?%B?RJ`Rb&q^K2_g zerhcl~2 z*g6%3h1o30u=KaTxg#_VqP6|8@xmEc;{D0M> zb4Z_7{Erp9Dojm5hivxHf=X7iRLi0GM1kt_Ch>ciOAqZmnM5alnbBQYPy_k?0#S*> z^(EY!FV>m2o=&DUIXkuFp{?E1Zb4&9MbA(^-^059mjHs3!(w6I!+Pkb(~;-d1M$9x zukA0%bsKzFj~=0XdAUd99zU!v-M$0tU&@bBYW*!#u$+VLNW6e?bCM;DK#1;xV!5`0 zw@f_Q1tXZc+z^cv5-E*)G4Hz2ihVB{(B_ch}RQOOE%3zahaIoGg&+;Li&rJk89O}qcG_-O^bFnlzuVFO^9s1T(Fn( zQP!#78sC^v6Hlv)(PUzu1DZ?4gBhKYv+^wY#?Q``j~wWDSfnswkSP2cdqgjF{cl<7 zTFW`bGw?@@)UP+W7hc|eX(b=PCU0<31q*o;}r3+qb(ErTLUwTuFjK!Seuv$!6grC47VxvhJk^g4)qeX zeCAA`;B@)Z1b=$XO%)@z8GCZJiTTRGk4(2>6EG>~cRwQ2lZv92 zS$>8(s+@5VM^_1Ri19~u93r)(wB)Z|QOSSvS0S~Ge>Z#wpFijC`$#~b58`6|Wd@h{ zO$h)1NS(&$b4A9b+%$$E`s7o$m4E97scjX$PYdf4B$78FbY(lwBDM9HD$R6ISta_T ztNhHHo7L&y**SWjo_3tPJq$Ep$x?(Z2S#`iZN*^~=!FX??Dg^Q3-Jjk&BQL-@W@=9 zeJ4}ySc%?Vx|=cu6WZbMwd7xAgoG&oq;ltzhYa%7EX+s7VP`A>Y)c&S-Q1HdGRq*C zvx;sZ@Ek>>DOJb7P+X>|CJ4l!+G5`Z}8w@CVfR+{;Axf8g;qq$ZHLVFW_&fFB{(LXxr7=46 zq1`jn`Mf`74AZ93hv6c@D)YzPPhA1mt5I9KvFk+=fnk(E_q8bUCuzYqfBd8&#eYmH2_s>1t)1aH9Wj&JD6 zrZnWpsb)%4YGb}AjL=FG%XObs{Rc|h8q2Ba($BHz)f)x;GmX zRcO!`w&Gv3SW)n{bdTkW>v4mx=RK}OH!}La58O43U3-^!+9PCGl-{QBF(L0BF8TEO z*N1|rOLGDW-ew2_(!xXpJuZ750y!|ZIk;boIDqmzj~Atm+SV!FzwQC7$Fwr*0zQ5g z^}9@>Q%cW{<*G30V6hc?4q%%CcHJEbql7zF>oJ~5K`0Bi2`{2%5#f*0)(Cmk1!~cG zY)_`#J>3N3r9%1LHVK8lxgE;G-6*KpnS@gIHiApL&_;_tD5H=cZ4iv+2}Z9PaIH6 z8_|%XbP!I%o8Ry#VP>mFz;)mtnonHcUtY&cu3c~CwXQ`Gv@iL;I=*7@_Da6PC1_`N zIj!OSZfcQi@uFi5%HrJ!Be6Q{UN4K7x+ZQ7xMMlle zZMJ%--m{w-6)f_rYHkvqS%Mz4 z&rF|s-Q@a3?U-!s~76QXP|SBbi8aD^*!e@OUb z*I#aZT{;F9qs2yhhwUCM_LnEZ2lLAl`9t_bCr~Ntzj581Tvq9zdJb$24|hTDa!{s*~4L zkr*(Hb1hOShc-=>sburl**e9bmOoD;T+izP6Ll_bH{X@U%Cu}V*KTo#@)$e)uNvEY z&WH~6%dn=i4Udi9>Q1~l=&r^h;_S(w443vl?yQdUKbDGB3(LM(h>=k`IFN_-dX=YT zQ;Rx)vbKtIJ?aeO{^QQ6UAK{_SOCU+H0&?$owOPXoU%6M^ZZo3f$M%dA6> ztG<|{jv+lUyuS-lr|rwVg@Rlh9A0EQsQ>6icpgJ_4EK!ZyS!Ko8Xe0F_H}i@qpG5Q z5EMAt*5;qFx-l1EYeVUiHhm@Bg$|RDt^OjEu0X53(q^+DwPaq!EakU@2Ecxc z?{uZ`IxMUD?U4NEf|U27{hCLA()Ooh-pILAD)O)^-Qd8TpAJy1PbTeiZuRM$mm;^3CW*HNEhp**kRn6b1@Ebf)fag}8O?{)cv^a=j63 zm>K-nJev&X2z@-p+ca6)>fgGm?YkcZZxVzzcJ^J8$|-#nCtA0>1^3q+Htvj)P&PVuRdAzA^v`mF?m_G98Ymx2KI6|xMsEU+WXL!bi>Ue40F1iImyuoT--&a1uvlx!K^sp zeT;9)?s!zi=QeCCa@VO1**AT!T> z0v35&dD{DGS&hS#3*GPMGF9lddaPzN#F+-VdW;;I)G!A)!JCF74<(`|%|ty$8_9>N z27PvsE7qIye%yo4O|GA4ed)2HVyr>3X@OyhCP7iGmi#h#mhGRMka9$egEfTp_Yrwz7^Ll zgNEMD31G&23E*@iE_cG`?-VNz#R*)taXgbECV2r!HzUl27J{kM!4k8@k;VT5l|gF0 zO2eSEKSS!#&-c_ViYBjo;@B&{`HC^c z_@cd-XZ$mi!+5KqjTq-#lWp_gK|da-bEA_|Qj8Cw%{(2&I?!}pOwNrz9a5)>zyBu` zyMQOiiJU75HI0i&;eiJpurqxge()hB;&SD-TW*z;PCQ;2*1yR5OeJ!a2!gq&HRTGf zAj|bj+%K+|xsxB4y5NUWzWxa*TX&yC);%C~X%9+W%0CqE)B6XcCgTyQNP9v`);%Y= zt6r1QuU)T%r4pm{5Vg2R)(RkQQ|!9)?w))8Nx9+1Ycy3Dquj$B0DQNM+*0g9XfWBt(4LK`kP5coDUi_L>4YwY@LB} zjM#IybDgYZ9XxoTWUS9LH-)F3da?;=7cX8YUAk;7ty{M?A#B%f+sm%I?cs=F4Tm7b zcB(7IitC|1y?ZFr_@xos0|)ds!8bzQj+&1PFZ`ofevKG0(kz;w7TIA(ADA_5s_krN z$7QdcJIU&0t7NC`d&sn}rf5?sS5j3cPyX{!`QV**O}V|BmgAeRzSew;eEi9HbLZK- zbvxO*^ERfyW>@8b2OcaReef|wvo`6|qqptSN9o?CRa?2_lFRJe;T^j7kY`?aQ8;JF zD|G$tM1a1_0I@y{rS8!O_zgkgIOd-5y(Pu2SL$x=9>x%aAZPPIQ^oFUZ@ey7UVW7b zkx0>m40<);T|&kCJa{yLp7u$C*l!Ju0vFK*zx>99rixu3uZzbij~f-cRT?@*Op3(S z7@z;%A>t7)j8W9zjn5jvhu;|dcS%UX#z0?T9YHypNMvn};A;BJ|7Ou=9rnsyfakzF z?~GQ0Ay0|CG$Ryvj?e<2o1*+hz+GL9ax`d`oqi)$w7g6QWwo8Fi(4__7zITHS&W@% zEn^4aT#fBa=dASFavk##tetc!*ZDtKrUazU14V_-N*7@_yW;^A$qWnXfU(K>*oGI8S^z@o2hjEbC$!(4=Y`ZwJwSS(&T$KuMlUct}SeG@@bPUQxs{V zghpVE;;tf8Zi*auMm9#_iW!9s+WjAwrQFe?1UW^3C7+}xUIw8MX4 zt)#5rzo*z;BR5=kz1(!mjS?&m+0i?A8pA3S3-$FnHyr-Q^X2fXFOzGZeL|+Brpae> z=E}G)zK{<-A1_}_`bs|k<}-P3+-Ujgo6qI5FDA(7_s2+%(z$0{{6{(AtTQE`b4H*v zr14@wsx(|hNFrG7hVvy7DwN#xHFC`*f0UF}%cP_*PjFRx)m2x>r0*t5kHFc9l*umkmM=dNxKvTgQm=bK4T0*OX6-lKdV67StKttM@sWUQXPs) zNmh}>^vb|ZU7e=1U9F_0u9pf8&qiwIIOr?tEj=y8=1J&x`W2R(&{fc4)IFB0UKWC~ zFg+_*ZoKt&lPCF2@N9tbisCD;xJ+ium}Z+~aM{Z|hf?w0JMJ(~D!Ca-<7$^=zQGE! zFkC2s$`YxFIm<4TaD_RpO!VnMUa|Gz63tWE+I40Lij^+)T~wH>ow3f8yU2|ym9I!y zl`8uT-&Zm-as-Q9l(1yd6yH_K#fK|x4rSvi^BbNBa7m8^FX3vUT1U#Kpd2jIIL|)w z9QpdoZ;XED7?Az;{kIY=aLH0tw zpzRrB&RRC8{XplKoGcyltcNI?wViZLqy2dI+;h*!XP=Fi3gzQie~R+*&FypQG>d0J-HOU{}{J{wT9BV($ykL!D6r1WigWXkC+ zhdtk%#9t?Rt53!peFG&S$|?FSzrAADE3sG)P=xI9`jAwmJu0I+i1 z?k#!$om=($471qXu%S{H_j2Xy5%i(hRbnVoDqDB%Al(qM7Yu3bArDi_NV77_9f z0orw&ZjzRgX%@Rfb{QtCmaZ{(FL~>8W&eE-u$|iwew2CJZe3;R@+Ibu5ak!lbC2#l zr69Y|&dpQWOuBE=U8a0FNef*oyAK^A-+nvM2q%b+w_krvw$^-n_3?Nmj@QdEhaW8y zzn)~odSO9{>^69JbH4?_x^($6>D^~%6Byv4an&Wbu3{$j_C*g9g~d0l-AAU!Sez5wqBxHDk63U)hb>ZQHJ<*hQ0%3!I^Ywd`L_ zl0Am*F6-B=HzL1M32&^tCMe+=)-ny>ZFgBXe}U~*M_C;TSJ=+TQ%*hI6urQXJN8rt zB49f)7cX35?#DQTkUW5%v86nB-gB=sYuU=IecAm^_v5)2Iya039(s&F`Yl1?oWMO} zn91k+6uS!-E^K(_@3*Mf4Fxx=*!7B6e@#r^&nqAd0Aq$A_D;ja5ajCv5Ty`;3?1 z5L*yli3m{uvdDwn`{!IC7C;t%7JVO=k2^!xk{fTlS;KJ5fljsh4&s50F>JzNCp&^; z0A(-tue|b_x$(kM$&`b&F}^AqJC$~nd|W0i6tXm&z;#+^p5aYE<-Fc*wfzF|FP z{YK%4aDpAUzNWg)BXgV$5&MR{)!HH|V`7A9NCc(uco6VL_POyaJso zbnenQcSDuV@hn>!k3VA<-jw+sV~xZd#as=8&bmaRxCq69i48%_*KCGjy^3N% zr4gYxAz!S6p7&s_H3c#6v6j_5px~t(SYYw|nrp6;V~;&fd9*AOR5LvySVwWE)4zoY z2TCQ7TS$bqMx%hv=_(AK8D{ltG;7|%Hs3E@w!+BQdGi^)N_cn{oyl{amOI;zIyLB-++qPZ0%DB;EC2dW*vt9tyf_)k$7>{#o06lAg9!PCD@q(y~P}>Cmpd9De8#bX-YYoi01=&|B8)w;WMM zH^uu~#;O##;PkVkbDQ?kUh{j-S?5YophQ-zTq~!aagJHqLW<9uHCs+O?l^Nzqx{dlBX^V1V7@8r7cX3= z@oBwu*j_q!>8SMoT3NStg`9QP8Jb2r>E5fa9CzZ8l9s+o9(w2zY2B)Wwo_}_cc0(O z>J=&G!k>B!78IMzu+NS?t?Ye!>?H5J@url9a6=rC0RsoiXJ377{jhDj4)WxaPa1vh z_{BQ2woOS{E2o}zq8*opT=eX-&$Ko6iYqRYHf>tzv*vOPULjVkb{lKqS4+ck;t9t| ztCr0*?q>4-2V>;PrytYuXdUVAz4sj+-awsX7dvpjRy=EB)8pm zoAmA5*9>C#X4~zymXZ7JDYNEGm($KT*~T+#=I390BNv>1v6ZzV5SBytJ5WZy@s4cU zsjK$qR&wPP*V^U=l>K-c^6s}iZ_H*?cpK)EB>sBQw-<F!+FS2p0m^d} zB3!-2F7J}~@1w6*U#HYBYc3u+`HjUc?F4-ZGKV0yVvXiEb0uL=QV}2D^BufCaW+ja zi9ap+G2q*c@q#km%L{2QuCy2J=*OB@IwtWyL+a9BJyQ3Hb^NQg*i8gapaUdG<`K^E z40nk)-EgBEckCbJnyaq1Fz#KPQ8)HNGg*(-Z>91l>4Q?f?0zX<{5L6G@;3=D|EGjjKOx2IUX;AGZ_C&>Z`E&er7DVY51}vYe7zC= zSeV7&e2Tjq*+>f{*`R3dx-k-wAa-_1n+ zX**}zDFMljYIdK&q;m$}*Au_7D=uhxw(G9Dn=5AsN_HpyPUBcUZ?P0+=gQC_gS261 zYhxok);dsz`?Z%|l-qB*iLGqXyGKtu0|Y@h0)VaBb}|>x)E4Ij{_eovn_!c3=GwMz zXB`A$9_2J024OY39CzDwsH|SK!iZ&dG=! zvlK$g1S;A-4m4bSjg*H2vUA^_^6jLr%r#EO4(;T@2mWchg#8Y5>I#K6dDX1ycN^@y z!Zj6K@A)5|%7lEZ=-HN%Q=B zbGwtWE<=V7-^d&N~(#^(ShP@~HIm1j0PX!=ZEC`e#5 z8s-`eVDB^>771Qx(Wuz1H)}2{kG|j&-rJ{|2n-F13|uhdEueM-f~_WsT@BCo4qbQz zE{Vu1Xv5gVjTR4B&j8k4 z6WnWf6u<}|2+x?yDJV4ebc|o-2P>0~S$3d+H21+WX=<`&IkT3U+UGp6g5z{=3KZoHzfgm&Nx-9Vh2IqVd+`faU4()I1( z=PcS31uzy=gf*)VENu0+dBM>5xspfPo!=-SP}XAoWzyL?rH$gsQu1etS$)nN%DRlz ztyzuL@Lp#qEuSf3mF}`QwB9%~7-hQ6XZn@fj79mBw$S#h*ZHrenxiUQo~TdeVXPBa zLk;7~S>AiPfjTKJDUd)h*0;5`k&Zl?rE)x+QwBRX*#Ptyt_W=o2Q*WrSXUqo>aeJ| zP}?2CRcVg0u)d-GY9%`(T@L&GLGsbK_pKn51;s8Kd$54Pl_AeauZB$k6oLnYWxVNa z5|WUFUq3KUZ&tCZ^9Np-m|tvO)wvfdB|IIl!PAtPQO93;MJaPI)^VJ_%^W~n#LE>h z3rC`4O6Q_~vh(v?dYT6FZ%L@gs6sZ>Fb5Nk_gFYF&)IrFV)~4E7sVU%GV>f^u>fY? zW*&k$XRc$t_VcQLe(u@lNXwQj8;%sf(t-JyIG97dcZNVQmcY6`@IvbV_s`6cSbRkz z?kr7Gj_4Jascini^Mf6sVEJ@;p)Aw`bw*UIS*%@+irr1=+a&x{K)rf&K%2PVx{g*W zty2-Q_N0%pPS({y=alQaN~0y*+DSiU6GDk?GQf>2jfvL{S`Wl>yHeL;+M0gh(WSRB z@N9F>e`;WCcv^}6`tK-q5t0$c=;d;huo_lrh9aeFPQ3U$IrXZG<=`_FO zC^_?wXUJI>o+w8gv#*?f#^LgZV@Jvvrynd^cWEYXj(SE`XDpFZ&p$;@yWk9SBaG~* zv@|5;!GKii@5*qIgaTPoRT_}OtW>%D!t1Rl| zLd#QKC*Mt;F6W+ik*r>mCLOoxBD3Z$QhKFA#(z0cnzd>xAAI_`q-W>J(SJC}EDljx z&YQDPPCDi!3Fa$LkXs_d2ktJVIVF<6E?Wln>~D(Qx`^`U^Owm%zdzKhSW#w8ob;WX zcft8qpGy`mlu!`QCpzvGbF$aloOa%M=NbRbQB{M743qhbm)UVwY3p+YrSrte(h z&0Z(l^y(@z=FPHsZ26*PCI?%waD{{lLNau~Fgf|SQ*496#4o?HV@jaiq50r9p#Pxt zPdxEt`Qo#$B^KErCmnx=tXY|=W1>bf(lYH>7Chb6Dqj%51CREp6OTW^T-Rf*d&H5) z%ChBav>wVOKRZWGIQnSGOieSdJl9=wy?pxdcpEQE7O#-qciT&Tcfi3)SJ%nx*>h#* zop-jr_2uVZ$ORW%r1h)wx`zGy>#yYaQ%|(bI{o?&(s}z52^Lk!SK}wiAqN~JCAnF$ zp{7h8y#F3~Z`50w?>ajdc<_MUlD2NSd0H60$M3a26iGo*#Lm{O*YH^LqJ+frPMY#X z2OqY-{ z$ZmEV+2TdZW!K$?Ykxn^&QM>laIx&S|L<(v!E@y1XkU(&OR%KS){f$WT%G%)a`suL z$&Be!b<7pYqmMpn{TaRqUV=02OY-w&=F}d2;C$f0S__zAK?J z<*#&M%`I3jM9LK_*E}s1X)j4I^>xWv{f>-&{T3yr zGL>*ei0F28Q$iSO&Ud)?-n+FD?$J)ao-9}%v4CYa+(j2%Was>0$qWAN-oMJ=frFHR zSSPr|>C&&(?sElg)c6EI(BStI}yUEJxh#Ya$;kLu=sAGdk_8(13w5f9?X= zYxqdH?2nh*8B^PJ*Z)s` zRjW2~`srutpur7Ov2^adjpe1&)?Jj5xK%Tk#WcE`4E-@*FBij}JyWWF96`mk}n zaZC*G8-c_*!H;n!pP$SXa}&j`3A;3{2H{=&+8}(0w~JTo`aJOw7gP)=k6^a=&Mf`( zr73n5eOnTiTQ>}t`$$(qY{1fOGm2fpQV9xPsrzeJ>?XEd5`LZF+o+)*$ANj4h1(Oz ziG%^f^XAYm_MWJKX!GkU@$-)4m=`&N2;dp%k~9K9))thiUg65R#cpbVzK!sZe(o)S zoYiTiM51Ln&T6Erwn8d(tqoO{n(`DO3l^eyyx?4@it1{~4FvQ%k?JaEP2ycydMj4| zK|8zOu{OnG3Z*UzI|SmadC(9HO0&LFq6T1N6YpT&L24FZ7Ins0WAhQpM-yemWb9n>nfI90E!J$1P~|l zBJH7*D)SlE(^!uY7ZV{CK^5f)Ty)-xTVazI>Kvs3^$8NESGsydH1&ZsG+qz*4nZ?l z;-+lWC3Oe*dV#RzygE~|$32Q*IY#{vhCa(XW_~QJ5%yTzRTU<1GU23_pYm{492Rxf z{^j(=4d$L2K>2~P!%yNi*7Sz5Bq0e&`1J$pR#U|;W0(ye&h}P$H=SqTFZ9-FW0}_U zmW?fZkDLEGU1M-P%B&APNPGxE9))uHu+-n5#ZM^07f0gpE-&(oGUakSH6LsB_Ce7 zi*k#4As-+vD0zWm7jF?> zP$mt-)z*?E{0uLVmlv9B=QQE9Pd2`?H z^eMjt(sJ}?6h++oapaMH))cJoZRYt;4UP_V{2gP0zV~AlySLobsMv+Z#Y!`%-xeud zbntOU%iWLuQ(hT2TBa_XD=RbCNO=tF-fa2yyN~3pHy@RGGe4ENv&YLPAHQPHCQklT zrq2CN-W>C$l*C;;LzCfJH>Ma37fGzL*erHSi*n?mvrd<#b7x73(kCPL+)buUnQC;& zx8F^X7H!&^l9V&Go405ydk)`6zWVw*Isbw`nNypxN~Kk!b#lp-*UG%b%VpW>6#2sm zrwV7N28zOxu`W|iJ?>PgE3c89wd-Y%e#0bV@mi_O4awpA94xsh*|I^0^|&z~NuOT* zWQXm0YI?2h4DkaGKFBO)-8>YNtc-QCVD1dTS{GRpM`*qC&O7qOmtV`7XPqN?MI~mn zk8<~di!YTq3l__SFTasXF1_67c+T!cz<szXP!sO`G#4)XR}W0YPDO7ETnr64zG#uCMOMN+D5 zUX+s~>1$U>o94}=ZOdkM-t_xp$I09|3+0F-|Db(I`Fb4>9OH53$tT-4xPRsx^D(2} zvyG=U)f;4=y?-ZJ>+{XcJxA9Zal}#9-)7C2X%@WATePtw!CG}_C%cavA*q?`rAycD zO6!JgfYnrPFwb*Y>sCv+I9tv+{Y07g%@-03upzZdh7Rg0<-r2^;?pnX^i%&RE7t_H z-WhAkO;v@YFfT)vYx$eCZZFMRwUKSN+e$`{dDS*5-udTyWbC^i%lhH$yK1qt*1plHLu=WpeJdIJ-Y8q!uDjuSdHI#sY^}^nO_y+fkty?6En6zP z4jv@8XxkSB@^n3g2dj~bFTFq}eDSel<)+J;lof`^DqFU4vQ>@-Vxs^?8pxAaL$Qj# z``$Zc{O2D@O?}i9yN4fnm~GsIA6&kAogA?LK~ksXF3T^G!F_g-G#xLTOCKl<$`g-0 zEsrY}1wytl0*hVNa@Jh4`qeQECi2xu{PiL8KFFMpa^vHVKQ^TY3J;W3j76+Rd4{qP zWe66ENo&xb27NtxD_bl+xyO?!bv|y~IFoC5C6!;FX*+m&uDJef+8%tH_&bR|4^q$6 zJ>!CQ;)r^Bm`MEnKcm=91W%OHQRp z`phE;m|y^0p2!^U+&6SLzUSLb6uWfFcvx#v{mG4+gQ|5T=sdAO$LIGbcJ%}OL0{Cq zf=~>!-%gMMCIWeEtVjKJBmC*Xr?+vsN%%EFV*Ajy{cqMN)=jNS_nYy?+^NiSQJx8oQ3f*qvk|Mjs!Y}g zvULPiOSCR#%y|UiH9~P*73;M;7PB#Gie-%!WiIL1*;on)3(R^~pP@ixBoRKQnR2pv z&7c1Ema&x4DPr9_ghhN4)O1OYazkS)At6}+ubv#m4uD@%|`jsmd(i*9`QZ^-}PDT)YHoi3k)~R0UNq*ASuF+d9AM2)q zrLFT|Jr-KJ_Hv#W(IDV8i{E&jam9>67mHmK0^w55@MZQStj42tg;0;V5J2&a($>v) zu1>M?^%lFhNTt5YD?*kAVPH1=8cToY8ExVfBG4r~BW{p#G5?lVDx+9UJ8L=O%40T@ z;hq{ddSucoJ;)91h{X=$f;u*ZkJgFRpMv!v`RM1lcR=Elm3 zq%xQ%)#U*x3*^cLXPhe2Cw?UX&DY$S)8w>MPPH*SZTd{P=7yUkx1dCdN|esil(TY+ z<@ML!mBSAEgJ>4@T}ZO?!*cmGH_4=_vt{PIC34(}XGo!)85)))^OwnSM;tHtX?c>L zk}Jm@bc|FLlu6;*Y#G#}zZ9hBNo{4FES$Gg4%qh~JA*X8fW9HJK0C`c(XlZTi`^v) z=g9Eghq%or+VWRleYK1kGe+JU`@S4`l*X%c>YCIHDGpW0RoC7mUrm}UufIK7j{U>& zrXb^p7HF%B&O29T&X{KPJY?wZlDcNCM3la~`{tYEqfzgeo7~KG>9Wu8y-l(E_4IG# z$Wx9s>u2aQy86Ah-z)du^MItSN|&P#IY!nkUnkX-G095Lkb{1Iprou@Bdb>}lcSG1 z!p>`iXSnIc+vN4v-qAT;WWRk5mF%>9t^YEqDN`C>>FMQ*=F8v#ea-lQW5cez^b#5M z=3A1wE#>gZj{d_e5LbfMC&ggLx=6DWs5ks zzFO`*_84w5k2R}T$_Xc&AbI%#<4f{O0ydr&uUsjI9Da-}U!Ea(Sz#&2445@(UWV37 zS)n}p#6vQA)SD8}w&pz8U3Ts+Ihm{FjhEk)D=)uQ`v7OUi)80yNM`ynZKqi>XwU#D z3YAM%QL)^0&&}Fro;3yf-CA!SkDVY@Wwny4Z9i<6VUo5yMV8N5B&Qv7yhMvN{fsQB z2!>6ud*|(UNkL(W4Bc&nt`|C&Xx#^Noa}SJ?_^zSido~r*F==|Uod;B?6t>0Day@| znyON{>hgy>e};oOI%85?Eg-`KeiQ!~uuNs>Q36QPDCL2IaMv-;yVv zc+TXni~%;V;)Q~Blr@y~wz#;+c;+PjdXc%Fc^_mgm^g8wS&pLU0O5nZ(hx;28+||& zBL14h{~UeYqC`*p{mnPun4F3=nl@rhU~?dCM|+`6M6v6?0TZpO6VpiIPmjK?sdvW8 z+O=!tgAYEiHiCXi99z&>UXGZ=pAMlJ6Mz5DS?t0DCJOC*oFKpLxd|L=ouV`@AtY0{ z(?Wo1thzF`&NU&dYK8K}>}Y#dJ{^0%eE8N~^8Twg%NL{XlnJljEE8V2Rz80AQu*N7 zOJwXbm&l6`oF$L_^)z|?`5WcFyDyZwTF%!k*I28~LdWNWGj9Q`IuHo*nBvD@TO|^f zNecli0$I*|BMge$GG(A4N}HxhPj5BCtkn=5DF-RvDifr;H{o{=7rq=ldDV22^X;XAs+zc=a%#d z15t&5mUv8&8y8sES-bI%oI<$P1p8bOYJ0^lL1<$Ws>JIB0@j4gWI=x;XhleEyTG;l z{O0}eJx0jP>9ZQbQRjBvl}79Pi@BIoL`Y-d6ujaANK4POT#{ev3Sy3S;2Bqxyxh|! z?BcWC{PEuicmUsL4S3-({^+*^4fUYl$MFv-c0uml@69WA|M}pf#vpD^v1@IiNRLb$ zL-aq=cj&Ci+%qz#@Ab+zFr^j`zjbaQ48knX%41>OJz-oKEtC%Dm??E@H|S)k$TNh8 z8v`F9AOz|2jc8*hq0Rt)Z~Tl5|A(+~5*vX}FA+C}?@8YWZF)_@&knv%g7jM!ZBJPFxST#%+IBMa}&x=pBMU#6GZD8rSrWh z)@rMyvLdYG)Cs$*be+XwH>&ptzHLm@RNERy%qVutlo0XV3V}Og5b##BWmEQyE!%T5$^o~SWT95GE>)5E$qP@-#iJSEm7^6$^s<@{IbgV(H8jK~$wed7x`EaUi^RYbXLptZ|(+FTaZeg?4Ys zN}V^z13B=-7w0j03uWrWTqo+}#?>n~QSNeHG4e9kh)2`X{9y5G?=(ZKeJE?G0{RJ?zOdwAvkLAWQSy>L8@{YgG#qV0S?CKe z1(tv!bxFR-6G~U|!M7;;tqe*Zps;mHTlc+pIZFTLJC7Ep)}yae+QHLAtP^Z1Glg*! zSEG)8pgy2IX;0b?I*EMJ@97uRGiZwlFDzyqXYMxs%$3FA55d0@CJ9MM!cPT$ZGx_A zpb2dZ>-?{C74whH8jNA8{G8@DxsVPUZtJ6Z&y=Cx z;n~1@j9@;(J3_b;SI$+Y9A>uT9WIWUhm9_cZ$4ptY?!O`x8DfEmHCc)%e&?U#V+MR zs7*ZZaVV203bZR}P-f;hcr)(d^L!agbsZzW6ez4~6zP!Btdd8+H zU46AZL-r27+~^K{UshgX&-fm?1D=car!Uizply@`^^HeQD<%TZHuwCe2G(y|!=dFg z&p%eNi*W3gn{Jhg5Q<%;iAy6=TvBR0CyK`tPdZ)Z&RZ-gsq3AB6@^q)xfB;>Nvy0u zrhW6VR!T^UGFM4ifKC4~r2(_#{ZBuZ8}GcsEPojrxC4%s1*IxnVrT4D>s)}dtdOqn`MqLCUI{my%`-(LGmRjIadMXl_(_4bmzDnp6Odf9LH zeI$K#y5_4&Qr4zRznurlqJ_)MT9M89Y}7}X8;mQn|91DCa^bmWnVbnFCFkXi8a2wi z%V#!NnK-Nj@9@rEQSGl{IdQ*JtHf{Re|#ZL9t!D5uW4b?YX}SFABbV|g?p zshJs4p>+Hnd+lTG$v(u2P(=3GbEK?KT_eH5Y`NpM8|8!d$105-lf0aK*?Yt=Day~3 zRZCaOc3peRj9DusJ1=DPe@#uPJo(sza^Z#NOKD}5c{hYcJmE0(R4btxIL+whTQ4Ia?8 zDJTw^SHAqh0v%taQjpKFEH(1*Kkt)2U39k8*JvMIu~_!mYj^qNV%VqSKw`F~Hy1YH=4LRks6K&Hf z8%J?%{lN#E`52PjcH6@g5b#PRp<=n=rfcP`cV4&6wZzkZ@GdfU{yeSgDtYVecV*vw zekWzxx5|q`vPO^m9Y_hU44I@ z`R_NWEB&r9ZyUdBMAv4Gd1`D&pSQ$#6Y~!G=e~Sg{j={w>X|yHtxytD=P25}$2Hmu zx`4K7I_|t&F^T^fQkRLp|0gYW|1(HrY`BLTf%!#Psm$pHtbK7UrNn7{K(R=J6gsRg zh$C(u5xOGKM4?-$1Tze`GCoS=!4z95^$)UMm|Umu(NAkPNJUwt2~T0pP0*;E56|Ic zHK=`yaKY+|A7C7)Q~-v=*ChgSp2Ki+O{`*aLViqe8GqrQIm;47I4=dn59HGrcLkmj zgzzxn01aGMSEF$`mzfB@ZTGeYMi`1kB9_aZk> zKK(lv-d*WjPT-5M7>i&877py3ABBcE_#cnUcgX$r+t1tq5f4D8_l%yaJD+wE{#%e( z=iJjC->=whw9<9Im+EzyT|uWPs+R{Jd{`&8GFwz&-d}(Hb-DcV%dJ0xbbGEQaMK$% zPPG49FJ+T~$3}q!SxrQJ(SYt*V;^?t`jorIQJI=VWZ?6h3~l9uJ_lkl@b;#v$N z!$R(fWqv0T2u*)`;*7A2E52ji^m8b2qQLZuMfxNgXJ}WfR_U(@&l#75^Wc=a8U{hM z_9Hvzs)lm|bxyC1*)DBC=uDr|NJ^vSrr5=5m$6fZOXGOoK>$L`2&qj$tAJvTb&CGR zx&g2@kxRxuSA=R@5eA{WC9|eP)%Z=xs=wXZx4|iNH9Z9NzT28N2YpBV0H)~Uoj&uM z(YQxoZX3Ncmk8Gp;x{T68-Y2CHPhz}I)butZoHjkt1(o>Dy1kK)G*AO)E^^X*J(|I zt0@39&nR`>*?1b4wi`-K6v-&cncbX~G2z`=!~jZDcD=i6xvkf%@pcBSMjk8AW@(wVmtULt&M9NP zLYH|)2~JZqYb|M=I>oYv?hQ$*WuWrhfkMw=C`@_*78yQ%5tqw%{Kj#u}0sZPO!csD(_WzWm%A6ku z>L&?F_GB(_Z)NvE%RcwBVR+|M;T~x=fhQY%Cb2Pw)P&*nxKVwb~ z;vqqwGrn;7Pi*EXh=)2I;8h9hF!x^P1Rm>pSEcJ(Oy{03-U#$JsYi9bunk4ZW7@`A zeP?qh>SI%|=^9t>HVTrupRc*cZKY*a5sypEO(*~Q1J2%;pvOSP+n1GW5(Pt z>y7ng`hZ^frV$g{*dfmvpZ|Qo`t4~|XaUxLWE$VE*v*x+jC5JEW{uo%!%e2x^%lG3 zr4>dmmFgS-U3uE+XG`Y#JV{N4ELlEBf<@`FZrMyJEm$j`jD1Po zeC=_0@zuv96bs7T5C2UbeD+Cm=N#6x-so&y%PWi=Sa^HPMO1pOL>S*zh_6OrWG!HgK1py7ezvN`)THQel@3F@o=Khm9 zA248meY4$m+sUPuUM?@a^oo`#SN7d^e@R)Js_E!FsvQ~y1m)XD%h$GTYs0Iryh_H5 ze%BPzAAkI*)o1(m9p%)MPm$A4JAq6C*61Kt?9SY`t2-Bmn}3NXV9QQ(!510>9+lLa^{(*%O{_F zWMg35xDTZ3Hr-^%prJT+|D;X>7-MvzmYaByZ>?D z-=%%q4tDg~TW`H%d@j5!ig@M~<`0m5?D=EQJ16nihO~`C=5FS2#?yrHUrKsw5DRBu1@-lX^R-V;I> zP*FsxNRbXA(z{4gL@bDkA|QhFE+8ck(tGd8W_$0w@4G#l=R3c1cd~C{zykR3*LRY$ z_rCYeojG%+&ok$Ym6IaXRn}_N(v_+xE>})khR^%Z_Fb2f?0x6*)vJ7*S5{T2oV-W_ zn9Uq)h`=;_T2iXUjToa}{`BX*fr7ftW{$L+ETv^-TfdU)Z3UoRP8J&X`EH#uH#^7Y z(W_UlbdZL!zHVKLmrXWa2ap=T8pW!2-+Rm2#i$O^4x<$t(ww}`(pp>*S!1wvp6`;A zlYFB@R(6`o$}R5Pbmf~|*n|NGfCN@H4h)Cpfl%He&7C)hewjQ(<|rvhuTi z>`6bGotdRrU6Ts3^Oc)!;n=mbz|v*c5^GyY50)O-aP#JyZ+d=(^(p#f>J{x1&uF** z_P4)zngOXi&*F%-I=audwlh%AJI+8a&dXM1VV=s1a&*ZB-?n~csB8PLTbrcvtYX#X zR%zJbLzI)Ar#05@mN(RUADL=>V||(BQ)#8rb90qyc}2d$Q`iuYV|iCp2>6*}WeBj^ z(rRti%GE1u3|_CP)2Dd*zT?h2>3~BH)?07Cqbe&mY!syI*6&r7``R}f zNYIQ$p>A!Gl`R{Cq?sHSE?DYE61@4!8!E~zHXgH8UDKfK`~sC$S1ZZ#1!br5@=6uv z6sRQ6`h}7Tmpf$yOQfZhR$lV*m0@Lz4O{Nl`oMw$G;~Y0C}W7WpLdi8fOhhVJPKo~ zkbj~6#os6B(-E?b|NTD*?8dw9Nrg>NdWeZ_G*OO-#ZUHK^PEXD6Xj?U9f)ONh$UDS zoe9ww1#F(el}UQ1`3q)#UAw5;#3T!oZ84ktqXiTr{AkV(MJ}4?1Rydvgp1Ir9Px|B zzNl)U5Dt@a2bH7PH_9K{2<*a-{SHzfr7UWAct#F**>6ve5reKMZsWOo5#G&A+JMz} z_jb#Sg<#BFvSYE`0wJu3qD9DXJ|3}d%!fGsoVvfk@f$}0W08`@N){>MiG>j+FWp`? z`o+cH<0!P@StzJsq6cm6KjA)qw|Rb%AO8s0`6It>iK4i+K)kX)v=~rG=jQZxj)!>m4JV$%fT7L`!+P`j4(&{eY7mm6EsB0zDcTUr1 zP`>D+IGzE=gd9Ful*eC-wf*!&6*bmB*wxP_>@M4wdZy22QH{kl`df%a3(Rk^IEGaQ z9AVYTKOq#_q%H!MO^%HX4gj!l?^>#Wp(Y>tX*7r7XFUt)CcRjTwU2ex&JStujaU{2 z?IoZ=01VnYNF#aO+f6%G&+FqJU_i_d83wlp`GC*#rNXNmP4{cV=V32^f6_`N<>}-Z>_s zwb5i`VYfBa_+mJKItyw(Zn8YFp_=nR9$;w%V7J2Zlrb9o@{%jR1DH#kOwx%z0L9LS zg^3K2ADakq4)|LbK6aw)+dXmBTVF{Tc954bq5Gx`gu8@Gxc^c|5#OwsQ|!IHGV(c( zdGN6seNA^eDr=JfcRAaU&I5n7jZA`@y}d%ih;T8T49Lm(xB$0=LVe@tm{^_FVSCU} z%`rAn7_Q|?zqO%LwM})Ziq-ji%vv$;1L~}fGoE8J52Mmxfhw59rH!VoX6!{9!{!&R zEGEG}?S{9Z)=q_SEy-t|$QkMZ;HA$DV`1;#jW@K(;2%OZmE~0`D=GJlC$x+70lq=T z!lGx1*?iWm9ME6UHp7?o+mW@V4c1SZlSH8_F?`u^Jl(=!Y4Dova?apRbu1%Jj#q?>Vl*rbPF z91DMhN4Uhr^AIPp<2PX;PvRg<9E-iYivT^jb`SDrOb*b;m2}{b^l^`4(UEi#9=s7R z{1GmEkbZcC2V?@@gohu(31RRXU;>`t6Jik>Q>%of@=8Db_CM|j9Lu$z~cX7w{eMa9`FEXuMmT(!>r_UR5dQXW^WSgoOhM<{9KI#rfbIarpHmZhq~ z5*6hD?iIVXdZzUu4K}x1o0g(toBL&EXE{YcXokuQOVwCiul%%Z)skxk8I8;tm-xn!HLH`Y-bcqPGX9!8 zd6Et}^Z*qU=4fqF1O)%&CqGeBW2=e^%S;AV_tvHj#&v8D#CO-)i}L8c1JinMh360Z}r)in-c zSC>|*uEKcBFIF)cvDx`5E3*5-A_p`9cmEw=7a4GcB49V)sQ~ly#raNvmAtDkIhE#S zt1Q>#ow8DAopzEAK41^M^6K+SOr_@`+nC>B2vp z2F+rK#Xr2TliR~%al&|DfCOMe8X;epv`IV*!R#1sZDU}K%#5#g0%M_=vvZLb;amK^ z1KwlwXVLTc$)Axub?W|20b{U)qa$`LVB?9!5*ENWcYK3GPVrY91)jnh7JNxpygU=` zKj-3Q&OP}+;^~qCT6Zq_A4UFdk^6U3J!Li<*3-k5rOnj zPkr0;`R2s?Kpww6_L>rR-4YS(=7i%C2!H>I>j}&LSeoK_``0K+xAQ=n{O)7iC%yWF zcM13JxzNr*46djj^eeQ9VGu^gzWHDQ!cTY?z6%{b;o$((X3w7Mb&p->Ruo)om*$su zTrqXFWXUoIe;E`KUf2}CWWX2Et@LAJ5`fDKqY+?QgFS0#ZE_Qp^i7SNsc-eY9V-}} z>m68x=s^SE>iwd<3tGFxhhssKUZ}jf%CCHb>0wd=2#K}?pe`Dr0L~lx-<5PZfB@Q-VwZ*KDjA30PikF31&e^5c2h5~?l9t8>z;yf299klcHi?bd zcm?19lb_K!i1x0|@~b-%`cc}~pzTGQ1K*foX0aE(ki7$r_6{H(lWcC%(ej&}@+20y z;uueCJPN`6TRLsbfgd)MaScFlBv`JN|5g@*Dd=VgUn5QMNP9U-6k&Ou7?Y$IS8iny z4ec<_0VECJspq*l$~Ur)@(CHT=xF)d?T>V@`xdaC1@J)Rv%QK;u3EUw^(>ZkI_S%S za3nAzyE0Z{H?60~!4S&3h3m5Ja=y6|W>~a?NE7uI$8W}B5cy5G5%?Z$e&alAfLu2T zYyP{3fKCA0(bFDBx)Uzp{wrN5_;HSQ*Q$^cb%XjqI~xIC*6wg-qqXn#Wmb=^zG70D z_G4o$v2O^I`o|gUG3&>Cql@(mE%ZJ1+K-Rvuy(oG+K?EVOPHrwy|uS2`~|b{Y+Guz zd0~UKF-=y-o2;*5!wws9@WbX<=3HzNW)liT8;yxg=2f(jnDmD!(h%lO)M*x>;l($S zSo`2(N_)aHfL{7Vz$MyU_+^6#JVI>J>9oEPv!Z_9dpFT0(w8*0#f(%Nc$ zsI{*aW+b3Uw#?Z=91!zn!ifAt{u1u3dAOCgHX8?WMzZy7^gBGW9#M7m<=y=} zXZuGWDBm!Trw^q6q3k%QX*aARu%RK;3&tEh6rac4@!PYW=bxVoeI|8)zLma{u?yn_ z(iFzOEN-#L#Uk>@1H0XTu3c*|4{YI_amHCnNzJr6WkuhTvua(co_zKxtw~*>g1mK_ zKm8rG*B9uSCmz&ClU~+~Z~R$#Re8Gm*Z1p!t1efS)&D9RUt`V{ei#eG6Ju_8f=|Za zjG05<&%&IKziey*&n(dSxWT^R9qA#A@I8RuX{Vj0`Sa(yOprwwe=?@WFW~@MzyphZ z$;rtZ!w2NTA8iQF@JHK%-vGSvo`qh*CQkTd5s}|~5AXobp2qHPNf&WZ&ca+H@Ie~j zn}uxN5e|!!Ji~F1BaJ*mOO7y+LkJI^2#arn3`r|4$O#aJGDSWJib9nun>CFqMrpP;cD2khqOVH!A1rDb`_ z%TITW-BZ5#H7!`Mz}tfv(`M?Di!RmVi63d@k`<~b!m6i~wrZ{NGqb(Sq-SQRw6a1g z)~r^3sr4s?)(%)(&oOanDd|o%WmQUEm8A65$!e{&@myWZfzBM8A1_(E%KDI0H@D9m zy|lQ(O#_!(T;-)@e(WPA@Ru!H;^mq)i1m8R@UBZrvpUl3U>@Kv+U;kYd8&_8uYFzwux-@DYceAld9uB3I#b=Tdu>aTCUswGPn`J6O6 zGe=pe*(%8|)vBed9gr@}&Q;Rd)vBtgRAye5N-C`WR})vUgQDx!rW*ehPSs^K{!K}~ zwXb>k%FD?$9&)UH|MS2u?Jwz|t$?_P{t>WSl2@QgdslAx+*nnl(@r@-fB3^gI{l1O z{0#P-mFa3JXw-4Tk5)!>klPXPO9@t)lwhR>Xa0%Oil6i2KYi#7wzEY zSiNq%;Tk>q$KScUE2~PCYjJTN{rexhr!&t!!`B0ru3X{T+*s^D!*-j?7-Ezw<`qe`ZD=W81=^44IEG}0=x%JP570SuNq;jzX zwFTA&W|)jH8=sYt?V7rjH8v3duqP*{TKTjxTU@51@+#w@$bnwUP;M?}myvB`YT4y# zZEw7sx#!uIfL-zknS^|dzwfD!3Honn`x+SQ=8W+qZyLURWx`DCZdruQaL z95Q6!f@2WI-~oXLhrn_1CbifF-i|pz`0JiLu?V>l*tHowdEyHg-Q-zhuejpH!?DRe z9R)5LaM^^vttA@7xqkrGYV(h2uvWFTTgTMSZgTVA(rIzRU-W%6fioVu!CfMYcncH1 z9-g3(uHfjTaD)~X2)JkAl6Zn6jLlsbi1997uEY__Xu|zxUA)Xa-z^_#d_D=-U9n=t z#%C*5@GJs#|6O30YY&Bz*Jb}ApacpIcAaI)+9qTV<0#a(&7W^hq}kKm9V?~slW6lG z0zb}^IWF<^uekWIdZ>rTEz!q0-aw&Up%#Z{AOBUtecmpMjegH$)l8Cnl4sE2aK0zxQwEW!aYdjA(a^74rZXV;pt zz7vfiPmh1o>1WZi$Od0LCp_Aiva$;AbGXORH#x9tKYd}_z6W4KyMs9CzZnEGSi;el zhCbbSGzaL78C|r$2)oUwc|(_~>$}hFHNKlFBh%0MaxUfhI{wyp^<^^CEjhHZ)WD^-I$r`B6?C2)Ew=od6v0OI>i_xVs!i^5RY8-~kg$ zgiRdq;u=g=P9XXW&Q8WerRRrbFD6%gwYRI?#vr8*`XWPiYqS54-O}B~#Q~5?zPET7 z=TXMdFy^JF*#_S51D}jxSda+L>$dr!?6LUFH}r?0j6$Tf)AE|Q0Cv0&vHPBJ=O?%8 z372sH70wHLbQ>JSp1RWA%vxQ>19c_>C23y(cIj_ecmvpFp3`J)33c6?N@b;_dAPKN zG^4yH6yI!QVb)gHX+yh()kb8|{Kd6;%@^OWv81xHT+JOZKVz3L0EM~24{g5l(ye9b zRtxNkg$qDl?wOy(x2^Qsw9%n0WpT{4^zAjgaeiemzszqox^RypjkNWl&7dE{ssL>+ zZ51YA=}+L>&nUO~CVe!X8>*@{w#&Zx#&}@7PMbq`4lLWVsJ)4Jg>N4>C)|I)F&0GD zR({q;eLa1r=cyGAKjOmX^PHzkesXRn-YG*^u3!$&y_bD^Pv7EsYd?b4E-v&b5k)0A zo_svA@%iWH=pP|?rthTeG47y`XDmyf%Gj1ZmPIb=$v*;iE6Xc<6CZU9v%zot^=}Nf zR9sf8l}RaTvO1Yll%drt=jxT`{-B2P43*}sRz~JBEnPE5E7Di!!N-2BD{j12#kDoA znZ@|i7uZbx@#AlJV?ho%vUnGOP3Fk_hJV&K;F~dZ7+W&VWbuyYjDuJlo;PovFX{n2 z5H{Z-2fo80n*iS87`Ni!0T~h&vSWc6UIUmF)}#PE2p2i>j`-mx%o~V{Fu5l^tj+MA zF!+vi5*IFf2T!~Y^AN5O&v;Kbgv&b|&qxEjkl*mhVkY-|!*68AHz96h!aY0_KUe%C zU(y@Whd=HCQg}`}@dFPy_#$rdh9sn0Aao-UgSZX@Epn~e&8ke0SM+d z?+6?1R$NpsV-8014o7-%p?tsxawmNJ27kyK-r$*daO6GTLCBOm=UGT2VGuvzK!neG zOh6M3aS=Yhx#t~3`Jp_JR`Q5=kt5$gghQN^3F5^cdBt;{!3W$khZeE58i*j|r1?Rc>Vm4;bWu1NIxAoEclN^Zs%5f*^yXTy* z-M8CO%N8th02njsTN~}V=N>AmDAUlSWaJNsNWlh2&`{deEf$tQo+>O#!T z)_?cA-*t2E+i$<4-hS&nx10t@i#g!*^i=ikbBJ!b`8v0_LHoaW@nY+1nzeMvO6|GF zKH93+cG_m^9sIj{@4Z*sZr97r1)uWGuj+;yzwf_y-(zQu7%@x>=FQiDeuGt3Sm7G2 z-}?IL`tWZbYFmrHfA2ne^wCG%q;P&=fu8=$vpV?TLp|(szw=$4bM|@q%Tv#(Ag@@} zmM#Ed&IK>bk3hlz?1ns}K2eWDd%!d5>Bj-PezmZoXK2ahD7PrmmIb6N%r8=LZoX^m z0_>LMr|YtdzO9)vC+Xh%ex&PvaE+?7%apnxNym;n%FP?6db+1f{K)y= z$@2PwZ=a_NFStl^Ex*&Ua#c`Tu@Tsfz+AL*+0+!Zg~%2PG7qvQ&;C_lH$k6{f*iR9 z3jKAE`~MiQ8{DRoj7=$8sI#fP@!mc8*kl3{`2+Zk&Z1)i&B7-GQlkwvvF$2S*LoXV ztuN7rrW~8$=c%nBO`XkI=C8;`&^BOh;|wHrFGuDXSs?VVJ+2;y95-s5*z6%_!o;j0 zK=8Z|{=&jS1ne?-j`$D2uFt@X$P@gs%hs15q9oaK!ig6ASVSl10C;iHBrMvI7&JqC zI=6vAVq_M~v)ZWp6Du5%1`C1v;;b*0MCpupi=X^KLEiSC#Y!tsd>?84+9b0X?ciwf zo<#zFlO!D9$Ggpc<6K7FVTS9L{3YDy>*8h3J^4W6^H~AA?1}@p_&Z?N;=vK;rup7o z0XEX#yYS7HDAX&jyAbzOmq6itH-+zLMIcHyM77xxh4&kS=>E>*-jegjo2TjT(}g!E zj*7l< z@}9W4v)!u^lkdTO`)kGQMb;T~s`o*M*}!&<1EJB9w_F2~*c`-b>-0r+O!ZRm(7pl$ zq>rJ`Z9}uj!ly4pd(k%#*~hQF^t^VoLHRB_Z|{R_22HpC3X)zXh8z1qi@&)(rUuM9 zgVs^i?1DL7ngc)U*8I_D)34EovoOfJ0O*EQQO@6CQ6E#$1WjMxTwSBq+BzMu-~N6U z)V4eBqya;Q>h)LObdV4&SwG{>;$=)ge54t$6m2UU3$pal^$naA9GMgb%x!J4@kFbY zi#i+2G}t!);3gNq?KLZwYX_TDocXQOR9RBtpeszlKjnb@pe(Ss%Na0!c5!!J2e2_G zD_i5okJX$xv#cMFGUIYEG)ane3g&+ESZ=^I`q)Pm6VjMn(FAh>b6$E@AX~|$!GE%lhllt zLY*U>q1~l?@U*!FlbUEXN56v${bRx<+<&Fpyuh2IJ*U`1)DPMMHfThk7wt@&8p^Bu zjNSeR_tx2`o#p;q>(#FLS$R7B8{gF5{`#iZf2-Zz9`YXW7VTdA(Z1E!Hf=O{{!;Xd~DR5}9R>=2Ntr(3&+#+I836 zHE!Gyer!qq{sV1dpX==bigg#p+dAR~7L?due{Xp|ymtY3a1n&d`dLYfUcpm9w5YxztO92 zJ*$Ol7wg`K9?;nrU!ba3ld91Iwy~*?zw0B-QO4Eq6vm$L3}5gVjY%Tljzv1s#j^mk zvEWJ=5MeNmVnLSo;X5CC&?3YW7W)9Rco$?uSUl$&eiJXi8DRlv5+3me z`2s-VABTSk9wFjkPC-~94dFY|MOw)>_#zzq@Sb;+E7HXG#2?biSP>rJ7k~Wbia)+* zQ)w9I5I^C=H*w;J^y3Jdd-x3LLk|4LFY$4Y2~K$7TgncOIJqZW_+SwnKYY(~h_C}+ zEVl9+@Rl?n5BxK}Mh5)G;g@H`8^R0e#K9+ixZ;m^`4-|gc?VDU33-S-;fM5*Ci0u- z$OS*dPk7`3az$o@MH+bzFCpE0k00Vd)_fb@!z;vh#7}zh%Wu9zrlg50GJr4A##6s+-hJ&CJl`>C<%N@yBZJ;)S~S(o0laTA~H> z7V7+SFVGt=y{6SmSL(}09HS+(7ij*>xjN*aLp5*FLZ#+qD?K|$qehR_i!Z#Y%=8?6 z=gf25oH1uWb7n2)OQW$1sCMzi7b_(t&Ce}I1DEtM?#swXv-^7G+(i2ZS z;bnZ@+(r7@S5I*b--_}YefYr?op;^^4glSA@11(>^_R4I%`!DKR_c~puhlPq@qlZS zayD+CL;7mnie#m)%}}3%`s&mZPf z6Tf_d=6^It#mNOaa@Y}CIA@VoB&X`MbHC%~t)m(H#W8=Ap{JhuiwX)$eM7>i zAtO{-P^^?yDV{IKAA6$8%c}L#%dcwO_zBi-)oT8%dD?f^y_CFkwQ35>HSz8Dv{kRI zHD&5_rDSBQu&mNGceC=4VFK9wB2$nf*Ff}5T!Y*b!0r|(f=$A2b0p#Kl7Sx1WW^3(&SG07-(^|9WWzCuLxaLiMQp@JNs+`mX7LE;Q z-25|>4<_V?mhsS=97}J{DHHC*C+Rz^^u$#w-B9Zm09cG{2aooj0u>yK5b(r830KY@==K)zY=n!y@;%{FNGa^3g8^Xh5AiDHG(Mk|Ddv9`*bQWFHlvSsn}6%yhk6ytF2y#U!uxKD|JGX?dmJsXP>VLD z@OF`hUgnvaVryo>iwyFzUZfGz~Tv?oyb=HtRlxX;#w zb`E0D#l)Hpoc5gGA2(Ql@DtvJ?{I`g`x^S5>Cq(FSix+dDAv`X+QtSy%do#q zq6*fetG&ElqXvx7@@1>Bkf{o51KO;v)i*Tz0{4q}qdHoeJsuXI(YRz` znH`ita}h`TbL51vD$L8Yk2{o`lVO9_cRc+pe$#}|7eN5W0EV%;CUrEoTO8K6063Z- zKvGsY*SA{O7QdT0v`FZ~b8W)rXYpd<5}=Q&>6P5r1K70N!qVs*F#m?WzPUwXMvU~` zp_uNOK6{Q$0uNV(4dAI$fV;@o`(1nB3-g}-E+4=}8_^=`8eGwark@@;Vw`d^i`33~ z77dO)t1d6IbhPNeefQD3Z@sC!%xIT#TT^S4UdAI<(OKA_97L8nEPneO-ieR#326mv zM9zQ@oV82;9>zHVgg^$Qd&r>SS~!1+F#pJald=_!JtCme&kHu0)mCtng_UQ^=!P1` zArYv{`N1u1O{#a(q@7mwSO{xze#xu7_Si@B<}7rJB9`S=Mk4Jyc;<{{#z^o+niweK zDC2}d9GD1aVH-aYxJ!A6@(UA6W#yGR`D@?QyxGgtTxaFl_%%;HaCQqQmd2)r7S&ZZ z=}UXIq}U;6neHa0&Nc=_v3}oU^L#bqk_i__)gdTD#zL zCaWJ-x7IhcX#B9zI^&zC>zQYtcfY>T#je8#4%X_W%e}2&?CF~+?76pzcJ&QIb{%2g zFI&1wP1YusSzj93OWG5T@u7|899^HASp&raG<^VkxJi6E2~57XG+Dc6^G$0b_>Ojn zIS!6G%%aTDp~LmgJMVe@r#*!y(#lwwwluU2+|!q_5sJAH?R9%MznJKCO9lYUE+pd< z?P24gqMWlhnJcbWV{4Ox;cgb+`h+$cQ((H8zK?hgJ*1C5nmk=iv1l_1@xpU7Ka1KQ z+T4WuPdLU2^uG)^tdFd%^zql&kt1~CamVYgufF2>%qBRn-vNgY(cI|^-2w$=!%cB_ zk6GAQQD)CVYxRX+=0mvJ!P^W8b;oTDqQ zyjs8f)o=9SA422dBkjOQVI;w3)XApGz<$dmUt?g>B09RE1-g?I3b zU%rD_c;p>mC;5dVT*j9CCNBIF9{ll)JPYZC5BLjw!887tdjxqA4-3_l3*zH9=^_kx z#KrT(cZ9*ac-iqAzCxKG-cZ)y53mu3AL1olA-(twKr9Y^iHopUJjV~bQ-F{#EH!K2ERCXAZ*^jI}X|L9pAtcc>obMVet&P6F+>z zKYZax8}G>v?t`p|4}S0;@-d_h8If+D66_?~G zC3UTXX(yd@f@?~C=}TYIK403`P1|OsWVmVMVFQL}$-G5whWVxEp4Yb9Zo5%qx7W7Y zXyo{@TCilX#*7=QrAwD8WnHSSzxp~qV;3{dhwpdrMo<(@;9$NP!0)N2pV2*c{aCYR z%+;Bvo}rxdYzKBz)+KA$upzFEOIh7*x83xUpZwIytF=ouHw5HmqdjwA{H$KH+|Sbo zyxeD>eSCBMuYdg;p{a|;Zm(Y3YUiDH*ZA=h+_J-+ci!P=>Q+{jC_5)bcmC*Rz4G$& zZZRu$ZHk5s9IllM*QmOk6vR98~tXAOV(xD#BSPaE%-UHU!c<`pYxUAl^j zEA+LKPu1cjEB$v>b%V0A@>O7IXUtk$T=X6b;Ia9qX?*T&h-D7X)pl#O3*wuYASVr&&)*OJAq^e|oR}^30RIDF9Q<$ti2JX6*`VWjeKb?J5sGTJLP1pUAas*+;pR!c;e`iOfi4)X>&Q!4{{B1{~rZ*KiR?YCvi>Mq6rBTZJT6Q zWhpaxhL$aOMe}FE!Q zqU?DVMx9OmIqNK%Y_YH%O}wHwm|Qb?_p{%87j$GUDQI-~8G1=?vS+SMWY2lVLL>_lVd0N3q5*KZ`$zjE(yn6Q-fC>I=nCj8 z-DHG(KAbc2}AEV~;)IlZYpue9FR#1`l)Q z%-PtFp%umAVtaF=)ya0f^4iP#(S3L6sh6JB{SQ4TmV+@{V-3GX_Zh5=`KwixR;UTX z$NR3+hW7R5N2;uez)S}@Db{um7>J#`^-S(1gT^RM0AUZejsws=iNzx964NlCT{0wb#^m{Cztz4C)n6(GqzO$K$IT-UjYuo@!(G;dlrEOsz zL>t;@<5}w%RaeF4;ST>ze~C4R`1D{kfuGIRuM8SITythG;4^O{9E7v>sFRH#_6!sK zK0mX2+Ewo-?Wec%)}Pi}UkG0gC|lc5o|msyYZqy-tIDD?@Y(Q!B`DHC`$=2e4%lt| z02U+Y)6g6^=I9f&Xz_~f_BLwQeH=(Aq|@e=iMHoI<+?L`17*%iq4hnKr~bVU*ITc? zt_h>Zx+(3>=2kUS#B|i?117e*;TsW;>+}{v(MCb zFTFrFTz|FhyzN?DbpE$=(+!vD+u!-RZol^?-TmOby7rEnblzo`s;047RdqK0wss~0 zh9d1ncw%uafM?tjH)C+x2l!=Sm1lrYVN3;2A&ucm7~B(1Sa{_(>0xn?Fo+Z49vL7r zWPm@Ou^7l=F5lu09#~8S7y~4OKb{jN@xc@6;W<1bQ{M3%;o*npghAL4@8Os4;1fT5 zAMynvo$$ao9o`6+aClDof;_k)L;Ug{*@Q72altd+;Eys&e8h!3ppXZI4`2AK3>P5DxjxB6r9$ zeiJuoCJo4tXE@>_Jidib!X*symuJWWp5cSId6%FsHj!^12ke%X6}ky#v@EM@%56Ti zPFG!Zr9S%TBL_$TyjXvv4@^(Z(3s()mA)=b=}F0&Idz&Yy67UUOG#E4=cQIwC?zA^ zk50P$$}9BS-~Lwj+;y-1{MeH!$jWmdbj+|(TDNkorhPa?U;E0*el{)V>}J`R>%pJ@ zQos52BU)|QdgQ;e$V69lTT<4y9j?Y=q@~p9b`DZ`-xpv!a5B>5N4_lq778Y6n zb3wM<&;z0${HHFODyc-qH>!TcbWf8m6n(3rdw`wV6v>dQ1che z(B1dkrZ--HSu2)fjjB+?2aQnrnk*G%mFkFL6SQjH3N@A2Yx?_BHFm@}C9O%(OE0{t zub=!a2XsqIt-cji>Ws55(849FwP@)o71(ot#KNL7lQ$q?iPiak{*2uKQjur0Yg{9W z^6}$<-4f2(Ey!1CL5@<^EYl?yo~vn7KeV{&m7J8K^H2MZp85S#8hFS6En2WtlcrDC zMOR!FodcYit=x3Z7B2SlY1gKtYRHgb`qsC;_GxU@D@6jI~{jH@h$I_pt zrdXX{7cQEsynui?p=5ONY6dfZR#M`AnQQL zoM&4CcFCuZfAMuL+$ZSM(dPXOeGk{rHz$DIEjT!i=bE{S6O$OfTDlw*GU|#cR+FWI z%vs7!eP5-y@2az5hBh=!w;AjleenEsN}2nJ%2QuaY08T#PJThPxo;_R<%^pA(Gxal zW|GW6hVTGmnes;yAFct^J>?rGYsYQ3(Kfw$*+ltB-#OzGtM%sB2;t)ZWHB=tfL-|f zBw*Lm$se9~hlPJ8>^ue_BfSiCSkPt%$lO^Aqi>j;buq~()!;#WweyZUX`8LK*KWJ) z>9+G(Z1iyB)8o8^37-Yw6#WjsZr~??yDXBha5`x4P`3$>sY<}zup>S=!U!&uKO6-W zA`QqXiYuD%#eb7<{}~rA^N<(+2-tXy}J6us!CPe{iWUHmuBclWbE3HQ0W z(9S_&@I?o{`M?X>{5JyyuJ~o(%6B15C@fY?nl#z&*`dzjQIB>j^^v-XiQ%9r1Ro3p zse5REpy|T`I_78rb}zc*LcR0hd&;#5)|bEeRpphJIGEX9->k9yhALz3Dz%r?Yy6Ng zTD3Asa4^p%DF+^OxO(;4PCM?jn_hhBHD9>C;kxTJZ^kS&+Q0{}@|X$Zv~b=`b+pHn znwF$XFS{^Wl(sM^o-6|N>wB1fe9sS^7dBd9(w9LF>Ej%m9d_8sCs5_36;X52(xD5! zbFQ|vzInerzoe%gd(zL&IcnUInmuin1uT`>1cu+!CQWrvci6z8y5@U7(7t=_#eud_FHYIS6_U|-_eKCo*s1Ye%fyPUOK$@0s8Y(kBRg01`iyjZMWJ{+x6N- z7kv9-wKoAiTV7ax_dom)?YjN;o~B10`mHt?&+xd{u6t_Rt+&w*+imZrsc##D)#s}-+1`&p*D$JW)p!t4IJ2C4?Xmdw%cwyZMD@ldho$tsH&n? zhaTKp+i$b8jUjf^x6eM$WzA%J|NRft);6Ztafe+U6m5yM`#D309eAj=+iGiFcg?jr z?%1O>Z{8eLRF!Jjh{3w}vJ14|fnV~8Eb*;ex=g$6xU06`b|>w*``$YCm=ks88Q;-s zufOH_jz;S$>rcjyA8(UL&K3rUY0&AXpRSi*e%Z};lhF(2&()C=#;c^bPjqFE`9Ic=J^k>?}$`LYtz$W~FK9q0L%9siAv7M*3$9-%Yo^T2G zf89~EH!I#0_fQ`o#$nO9*&SXFtrJjdt=0dIF70OR2a8&_+;W?5RB|x1V}tr1e3%x^ zndf~6i#7Z2dw|!w9d_JVlcr7+=dvGucpvSx=f2v0hh233C6}nq`aJqH>L9TKn4N#l zS=w&fUe-ozt;ZgF%y~uo;NboD^LBX0t+&?nNt4_(GW})W-hK4@-#y}e67l`?fd{=E zI_&U%>ScWZ+8B5K@E#ARf4{+Qt$=&X(QVyp8|}FLPWs{PcWOYtf%a~`gS`{R9HBLf zm#LX^flVNX9DJbGEL&#N+-42w*H1THbB(pTy;NRSqP*N}?X%y$+G;!Nb9UUp!Q8gG zMkU*ry!Ro8YNu^?)(zL+qM<`ZY01)64mcxYm$~&}Va}Rx|4C;V;KaPA!}83^w#|e3 z9(Jf!E?%mKtgpD{$}9bKN2BHcK7Ev#obTGZ1v$Ao$ntyJt+&%oJM662I0}L>oee-Z zL!R7>Rt?DG_;~?uLc9@eoWuC<&(DQ%DrN1n0(Kb>GJfKo?@O(I)3+9uRI1YI5bG1! z1vxe@v$11kk-FMzRaBH_@@Z5>L#gW88&pw3|$35SZR>Hs!atNA@fLHhni+F_3Jv^`g$US+-w}4v6j`(=b zf?$vZ;d9S(7JK=P|L{D>miV|2fE>I8UWo_45Pae%fTk>1hIjA;@8Ny;o^OaV_~jYD zc~887U+!7ZcKahv(usebaU~wYB3<0`T?mhFal9i;96Xao@(uqG zVIfoaBo5*tU6fP83F$)q+>=Ly4KIApH}HTQ@z0e!3_KBT0Cb(c<_gR${=BqM)*XY#1qP9kPnV~z+)UdAs@cudEkwE!X+GjBV)o1 zb%S^Cfz0qrS_AJ1`r=ZQXIln#ITIB?4l}yBd6`x=i*?R9XFK2+m6-y|`x@otndfc*R{(Vw1p)coc782I?3zN~rE z7Ai9-M@Nl3TC3-;R9$hkVwH{RePC~8retZ++$9=1Xr$)MUTk%@P9Jr4AM&`P_)*~rC3c`7N+*G;$FtVjO%sB8FES6Aw$8*bEZAO4-2&j#2%be{v2 zynL0)OqOGZjdhdExoNq|O3f5zu`wBrHu$)~BbB=@LwU)WdhgA5wD(^7XtMF1l$xRZ zl5)?3`~o&=VfCQc^8&Da%Q8*?yZ=84*~b5-Pvc76;NAZ$unS-C$Uq^u&3VPNu+4dV zGR$rke*0o8j!6mU4RzSWsI%NA!*8god9j+xC#t#fZM9Xrp$!#ps=eT4&3pScz4C{1 zwd|vNwfMukHSwh%XwgRxYTnd8+ROv-R!3{S#*Z1U8B?bEBKJq{Pu7UR!`)OF zyUs}mXGD=McE#Y3Jv+CNDZDW-v!_;|Y;w`mpvuw`PZL@w_+tTdpM4M1yhTe<+;aFk zoVQC@k+UoLl5k&W7hlgpJ^U$h)Y_ zcRI1K2TxHwkF*k~5A3AoH)R;jbIgke4Rj_iG=A}p>PWgmdqLRL0sKQ~fCZvn(&;f^ z^8#%IAmSSvEFi9EXSkM_)n_+{)*UzCSVz0nK_ft@D13k8n>@JsW{GaUQT^cBVPUkW zrMbZYEPmJ5ai&pZiWJkLZ2UkQ&)XvV9t}&v2!I@61x+@7d-%pL00U`2qYf1fZ?{bD zXqjMc7f{{J;@Wo+KhZVfGvPiOKR@mLMYMox?YL{{L<_n&OaYPaUZ$-cw#Ayf zY_L=DnB$ICtCh(T8wj8A-E%Z`-fYD%^VrgsgWhrRaJ z^Dn$g_oy{%Q*`hly)|RnOf8rZd<>z!&$wdGgow_#YlsW3|;^ z>!&ErZH+DJeemI0y=+yam1~a=+~)u#tz7HXZ>Mc{)MJnQ(KTSv=4Eo2u`bQN-{2tN z5AVDSF-01?fN_mYI`qJUw8Kt2YL{Ji_r?6`$~tR1BIW@US!e}NXVN%iz(6;_L;u;Y zUq8M6#>>`U)~l>MUk4nxx1V`S)jMF{LzJ6dto2q!eF#FKpEPQF&v>DoCkGeF8`u%ov5SBlTzO zxFht@RIoxUAAFo%bV~@B8+HqN=DWYE@e;wRdcaqH1r6y+`a3Ge)hpMyqOXYR}l4+ItIv z#NK;vPu`#J^V|Io-1mK5=lMEbhk6X1AeFdV!f!;eyVoRw&vr4u1l(d5**r3pAHBjq z)(x@~Tpi3M?U1!y_Brr*gZEV8V*W(T@Vc+028E!Ente4=B(L{LAo+4 zdFc67#iH(iTtC}>w31`3!D{x`dhqRz(dZ{SPivzR-KP2L_Iys=Dr0ypTH5sW+2Ri&q^A6gIA_k zLd>w1KdXLy{wL!RO#B6UKl|SoA2g2c8iA57z<^B=e(u>tu48?^J4^fv@a=GKJGSUg zbX=(!BW*#~31xmwMZdpFs<2jb4eCpC%`9?6?QUto1JpXYnN%IG@A7@WaifR0Vd{@o zeQfCpBW-s5gw;)DedWfLfXIGR%*dRf?~%o{UrCwmsH5MVo_*z1&GmSi&+P5Kz5q$2 zJh~QrmF!=6cP?VvL+612pZuK4{fram$0lR+(5+L|5j9uWN~SD`n%2cS(5;>IK;OZ{ zOfb!!Q_UCDjzY87huI`mLp9BOrmN4U4bv|Fp?%X}lhJb4nEEkcmt8fmut!J*VhuC# zT8XXU(Ml|u(A3Z^;0}@%s!PB~WF*AStDy5HB!vF>bpFc%Zd>Hj*2}Aj;A#$O_sA0B zeQd_{b(z<1k)!G4tCaMTsiL^;Qu>9`T9j``;Nb3{s1}9R_7PgF zlymR+J-*XeOB&x5gUPGJp;Zxw%AjQKmZ@%BBZ)ITDc&Ua&E|8YLRss5;mjrfQILn- zFj~Rr4oLt!Pu<_x$$}I1`W)p@+U(fZjt@8PXKAS1#Ko2AFIn+$>ekI1GxcYSUCbK@ zpxsh&+Q}r6{_d5Cp6;PX#tqF*!fUG+fOC-Bx@=#ul{#lKUtY`OV}4=3_M=x1a*k_-Nh)=H*Z@hFonSbGGqg8Tz9ByDn88dU# z#<7yg-Y0~$d;h>-PV*pwwVO1TlE+1AaugTxW$@EmfF&FI5P*5t+U)Ci_FCU^TI;4Y zAIsQw7iUqCOzdoIPG%IkuZGn_4P|^TUS^(G4kRgyFq#9iuo~KewUXLz_gbWo6OF8 zc9s{b)6SIDO4vP*{F(5zA=rj!L#-$ESt3!nY<>YhwtJ(IPr_I*Km6mNjK|R#=VUV` zZ|*`5K&fCuxnVlw_`9a+=4SQAZyJSiiR|r_*{q!$veKz+qLiN6xwVZghTswa2pCTi z$Sm@p0O9)Ou!etMu@=c+V~NyV{g!c6@AtCdiwefM{EjCs>O~{9uxK}|Tm)J8_^pg9 z3#O%)$2h!Rg~poil3;bIA_*pIvvA}UW++c|r5W31aA*U~cUS4&xmNBEo0$KuDIl#} zPmr-#>e#lrn6n)2<@0(?W|}cvar70J3gFnQR17^K3oyXX&gxCoW#j2i0XijYTtiQS zzH2GC3K*q@KD0@VJp9gf7%L4O!ky&B(+Q~6?{Ki~7fuzoNZ>80J0_NJyT8nQcr4P? zVfmq*k@#bs2O5SRkZ9!aznPP}t(DmzBdg+}hn;fY-Cz8q=2W{g{r$-(Xck0KgY_^r z1G_F@avQK0(6gzku(nt_vU(`i7!ew%mi)oxQ$O91dWN&Oy6;=lc85mSq-03Z2I6MQNP2{eB54n-7nvBqdYml(fXN?V(`RU#lRwv zm@?6LUsV~}aK2!rf_Wh!4zH|Q?}!ik$Ot#tZ2fkU^OyxhRPKlm_STuD8{4Tu+{yW= z#q9pz)B|d9fyS1V6BQu}v2lM2SE59u!#$QG%u^$yM!RM3@3( z^pIj^q=@Az=@^XF%DJm*uV$_hQ2=SMudP%TIa8blN}nV;v2u9^Pkep z8(oC}iESXNK5~_KPd7JW_Rko3tDqah30A(dT*VFl7!C3+zp^EFE8iiuS{UN0UV9*g zw?7`Bnip<)*3%ptj=)C6L$!T8BX3L0lH2tB$Y;&-r;xjM=MuUD@x`vj9uEr_+T9KA z;+x|415AZgbyAUWazl}O!dsnXkZryq9E5l&2G+#iZOp4#uw*54rD;B?t!*+8JzbP$ z^QTM}ZKTck_jgNir4`9|1-p5we%#=;(sTVgietg^PRV=2K6!V2yppW1Vg60X0gnJiwO4Tq2 zE-mY=HzXRKx*u=gQlDJfn}*XpJkLPgsv{j)*i5n}Fi-j#Fa5^gBHck^db zv3f?g{6$R7s}8&p5L`cOw>BLN8>Wa%ow2JMMV4R~xCyUv<=LSIv<2BYGZ|B1O+~xp zv{0p`kMK*^sFy+rc7gJbybiZ&EmWc9Tq3Oxe)x@v^%cKereFR`dQQP!mjw@>1p=AR z#HxNi;dPm^*fKS9K%?&TaVUvUI2WjCWaSGIvPw7D_36a9$nM{gTC}9kes%4z_#RtM zsp7Z|0`*#T5Y6lVircpsvg?v7^kRKHg13%w-hcd!WAC*!Thy#>itF~p&A4Hbn0v$7 z9UTh>C~rf-76{w+@%@vFv*w@E)gAct_kD{B<H{qVw2kzF-u7{k_|v@{H+^O?UF3 zN3UMKl|EYfK_bxL`Wyp-S~%~n1Q>kO#W%GtR(EtA6{d*+jLQa;gxLFGm(PuAmLhf6 zWQ}XPm!m!|P|(-D4_J8g{(~gJ^@yr(W2;bkIE4qmBmBo(_Dd>W%S+KH_veTY+(c1Y zg}I@!>?tCg;ILY563gEpUaWka!J%rQ_g3o^e_q^N6YM0?qW_6fp9~C^j3Ml+TV88V zukMf=lUNUB$wc7UNJ2Bq3Z|zf=X{+Cg7^lN2*U~gM91zU^M$(^a_78@wBcN52%Bbzb6$YYibzgX${2KwdkAO zzJRpi_^=AG>!dv9@j;ndtWyZ)4~#Jee5XCT1SOhAS@Rm#W=u{$dji;3c=7^LI8_*{ zpk;Rz!3YI^$^CMyaJOrYu=yQ>U>@og{ZRL-wpa*|U>ZtuGN!979a^kod=+@~biHis zbluKibqLQD0A}kndEQvjAhnekoy%{M{VlkggGO@t{hZ)@x0*FowonxFVaiuuPC2^_ zP7V%Dhnh$w_3_wbjeHD|9&4_LN}?@NV6Ao;`!W*LbSm0qOQWS{auln1Dcej;0|DH} znNwcQ_+B1HgDXri^1kC(9lK+Xn3*w9&z~HpZjS#ZFh*=rHAk%&I@)rWQl*jU?Yl>+ zTOpK&qg6H&`U=<)(cjs^&Ho0=OWYf15ZQ-07<){8rL1c43r+fBs3x~|V$1BUZ_xF# zh~eO;de?yZ6vTGGM|P-Q1tPsx^n<)5OXuD<(j706f`!qYD;z(6+~LUm@-IN-Fa@Sz zq_t009%UImz-Y$Spsky2Xp-8M;Rowd{*C!~gASTb(sIm#cq%L1=AC=CYLXogX^p#? zbTxBhJnL8zlpY@s?px-}rVTu%ne+T6c#nd!e@@|C+|MY%;KpsGzdLSdv+Qfap|mC( z0aY=v%|dw`?`agfDOcu_cC-vra?F?_5dB@@ur%#BqulHs`n3&W--jQp)honv|52@( zn9946wV`DR#?*tx1E!V_4VV`7?J$YkOb@9?<k#m~^z+IsEXBD(wDjBDdoFACz0GZ+) zxs#dJzrYC(#(f0&iyV!D99?VZso9R$kCW8d?y8aiK2c3N{S4xyZhHKmjQS7+@I zDb&_wT$R~1ZrWl>VO8l>=IEf2e53?(HHa%cBhDIqdwrF}h>!Ob>tnFv;1D(#4*u~T z0L%vbm9DZd05l{hee#Rky6BY_aQh zSI)xBQZ=;Lg($mGQ*U(^xEQ7HGc*NU1pUQuju69rEO+U743{`)BX)8;*A;=`Q6$U0vmr~ts<6+ospwh{mla><$fr(&( zRJH7$n{HOdmx|&JtydH(5=qtgbZ)<@mAH$3*j-zXmeej7U!B$DRHFDLD2I&R6lUv) ztxSwK+S%~jhkampKg)!rXn8(s=BTA3ix4YhVL1yox|J$xxh@>=LEjON_E*cJh?kLi zbG{uZpor1rDaMCvQH-}WWvdd97iA1 zxc(w;BPx3GpDSZ$-)DcKlC$M6Jqq@-c8cbz7D{(vA--7ii%Tf6NL5+75y2u2 z#12s+fL?Fo;MuZw4_8-b)u}l^b=ZozTY~m)+E5X z{K5-~&9py+WA>I0I;*c{U})(+yREBL5=ARC%nv2_8cE9JclECMejKuGzxTq@Zi|6f zaPy3+ZQ0t;N_lvr5IXvvN6)esz;)KMvKoUCuFhkESw4da zP7iM=Bk#mqBVPJf&bkMmVUX69)AM!NRM@qR_j=z3pUEjVxW%cO6H2@}Em47OdGcfs zigr1na|kW3X&D}%eZ#YXB}lX)HJ|(1;nPEWpaGu?cKJXP;j@c_z=hsmPMUwzG^|=^ z&4Q%$FIxQ5`MG`V#>8Ri*A(d8SOAm^GhunZDItBdcOMt90MN$@2J{{$yORP8fUP)D zT(z>&@%2u&E|P0yj~H*6r2sC3kQlx3JP7@B3Y9W zW5uhYnwK5)a$>PBVp+W0e&$0Ji);TilZEYJuVh_+w2)C`frkGk-tnVB#r6Il>iOKxePhWpEFvtzk zyZ-TGAW~xWXWXWQf476LIE<&9=Ax->nU%%)A>c12Rz53cS-(o&O$>baIN;c zH(9XnfFH;tN049qA`&fy??n(+&9T}W%k$4`@YzQP6SY#Drk&q9H}#FT!~M#rndKtoz+osnm2d~_Vq?xG_`e6^}P88vxKb1q@upYg=~r`AlY{u;9?Sn*3gQhmd|O^sC%d;+Y(O z@l9$HFTF;r0c8A@npSs=_rsK)eS4Y%T$?IWXxv&2o-tE!-9SyQXLYz{7FE*^vLvT) z9iSuag-oC828EsR37J+dcmHAKr(F6Ufno^-K6} zJ{GuYdz36yKF!g%wXYXJSrr6yvrUIxjIQ{5Pb&R}pFBP><+U6>4|P1vXQ(pX=h2Fl zqi$>YI!itgc(Y$fg7)gE_A~N7(mE60S&;@n z4vi6{_Wxc$b_EBR=bpTkN*CQ?5IdVR(jQp;mi=>LJQhMb^S*Xe-_-V{{?Buxc38B5 zZ*rU1*{|-6n1BUxR&6`q?hJ;21`Lu11c9yxDphuT(2eb;aF?-J3Y&2CFg?IyVY*dG z)>i=Bs1FKk!>%MonQGaJ@D2!>YY$CU2sSNP2QyMJR8MYRwt*A9*aj_@-{3*sjlJe5 z;%Ncv`8tOSa)tNRw#-(IHbrGWa98gzOl?hVnR#Ad9ezD!2v@`is zqWMC6`k4-FupRCwGV|N&0rbc;kjwfVzUw&K2Q?#%UEb%zk~k~nHf2E(e=HdN>7xK`iUjyv2D-0*W)#{ zM{@2VcozqGA+8&rB4e~Ba4sZ1YcQ#3NEpvu<+ zaAL(Yq1L04X|z*JhX4IU3=ldqqV$GRPhVO#V)92dYssWjw|49~($#}L%zXBd?@WLs zxWYKo@mU+Uv(Of+(ZpDf|19HD0V;G%Hs(=3e`A*XhJeadLyPQm^0>32stq^wX|Nb-_1fZkcU8 zLP&}Rx!#>nFXO0M6w)8<`N?cVxA5OO=N+C%?{_HHzfnKqG(QYMq@^sI>li^J1dUi9 zOg&f`UH!ucAvr(66`0Q_HMj7&sJ`@TIq-6x6D9XqPL?R zr$`0PLU>L0$oB(}&CLFxK__F63j>dd3X1_>her}P_J#sp*KCfZJ{MblEH};f3 zt8<~D{~3{^v=2SBZb2?LL5L^tJf?E?rChq#H7M!${>9Ecu&%&&*e;#htARjHcnO1r zd!pV>BZ6m+{2x^O*H^@WcmF%FIPsj_9!&XMkyMY$N{&Qsk)oPE%gOC1R9w z)zwljBETRwq{RLzt;goX11L7Fg(xZjt|xDe0&!E86b%NsrYE(0^sW7{yWzv_vqb?> zy5CKPiGIBdkR2u(9v-ebUG==CO0IBz`7FUFssd+z)#GnwN`Y==Uojl)y5W2ek$JS~ ztZXlzlhde=5%Lv2;%$j5?O#^6Kpr5oo{(FuK`?wZ(lx#rldayXnuuzI5FHe^Dhv&( z*??kscq;FT!A_yC{R0+$>GU2OVL`KRvLZ(S_5!Glc){peH9w3bl7)3Ztk_-NhJ}-N zmORcqxq_pDN7Z~SXL$9=hm^e2suv@WHUoe&#yiL4i#5XoY&&)NvJJ*}!J0}ob#JME z#jX!sJ!v&t`%n&a~x6oFE&nKJgqOP!WC&2$n!4r$J4sgZW>41*>NqFvi#%k zyzAfR8o>4}bfNQJhx%+d zQuQ<<$@P_n1=1|(w0jT8@TL0Km|r+ELP|8Ch^{4H)r80cbCadmSio9^@(au==4ec5 zFVPgTR?QKM;(PU9mDO;}WDa5ruNy-PL zfLD_jzdAG%qWgeuIqyplZ^HH+$s%lxbo2hzUm^7PEDDwO*;B-u@ok6tHK&EY4}PjC z{J^QjNqRH%lzjx@N9g=S&b<*28l|Bh<8z#s75KSWZ(jTYYzEW*C19MQ9QZ1)L~Z+Z-ydm zn5Gr|cl#u6ECY@E6GC7VGankgo{sXUS3jV9Z2P`mEr1)OXzGrHFi8< zM3%D04I<-!)809nU)`5E?G*ECucte+#GGdZHcL_77cg+_?;I}$ot>yg|6(_qUj77s zfX=NZU#F;ki)3Y-_eb5}IqNg{JhhEqZIaRQi3e0Bux8;hz!M*!BnYVK3?~Hx7Hn@a zuq!rVJFPTrT2FSse@ueD(Hz`;*S54M>L1s_8kK7TsK|b}BV`>u&UfckJszAcP zCp+R;T_WUcGQX%GkPr2yN63Zg=?%RLWuNeJ(2(=L=#vuY6LU@N~-2| zgUwBDYV;gWhbTm)D}zHy1@6yvU@NDN*X@)WPu6oRt)*R)&v@~zmu_WBx&N32#nM4% zrzpoSkPyfB@85%-A(DZ$GpipuhR%l5MMfq>{Fkul+~?s*wbq#sCES=QV)Yu2{E`XJ8WkF=!_x|` zj04z#4{C!QT=mFV$hzJ#^2nN)s#Gs|6~QdXVAZqWF)c)Cw2C~r7e^F_y6hZyEPxt! zYbwu?9`uf7n-X-V5C^SXB_5A*M~`xDEZ>o2{y9oB`Ila`n9-eWk-hg;K+wh5;OvB^ zw#i*(eX?W2!mVT80LNY0&o?tpSnxoL(YAYVopG9D?*~qHSEcC^J5zw_V14r+D!$aj z6qA0>f4|pC>tzy6I2lx zR+Waz#dij?5X|y;Vh#U6Ku>SDZZpUOt#%+yeC~$w7-@ER>to>3P_D{l-f69r%&)=T zEkW30))O%v!5m{SwBV*7RbCgl48GoFcK_O7JUvWYJvmtf&jO=GkIaWsxqI%G z!XwFA@2{kRMzb9PQGB{SLs?I)viHt%U{!li5scQpVu+PtZ#ucGQAWg}HC$Qnh?Pc? z>zZVpEwO-^TG%{b+Dfsh^%`6iO)!LnozHhDt?f6g5R0Eb`i2uAvY%kqEEW*|d)$SH zUaT9rnBzbVz3e3wFX(|U;S}Ln$1HkvRji?=pJB$y3pqH%g1t&@q{DyZW2#S}A~qXz z9%Ifu=^2?FvUR}zBy!dgBT>Z(CY2*-Dm2F zy!J38gbVGf3C>Dsvdb~gZD6*n65nzJyu;!Ig_-QjH2|!}YH&L{`M5IPYF93X4BZB_ z1vKgszblc4Xwc2CQnju8wjk8fGs_;doh5%4!4XY8aEAKKxg2%?Oq z(DieUa|!wKgf)U`V4~^m)THc_X9Mw^)s8M&I(l0=ioopZ$a8mZ+fayR_F2SJX2RY% z{;bLgeN;kQ==k`w&?sRqVehb-aRkE$SAavYV~mxtk{!ngCmvU|ZxM@*x@{5!A$$oD zH69CRkpAbDFjASB!Hy{AFG3VHO}311p726v^GDVJ#hE4G26bGJmo1$8OG7L#@M*bZ z_1`RYs)Pj)M;q*Q4JE0WNahu_-Ch@XF2&ZdT7uFU_W-0!+A zs8mw$Ke1XuW4lLEg%e7DgsPQ&+oM+;-0Ydz*PiPU#o~VDr3fPtnWsK^eo|?OQ5MwT zc(~#1o*OoK7W8rRgot^cS~uSe&wbI0|GR{PZ!2~+ZnC6Hduj5-^Yn!Z(RrqH2a*GJ7e+M4XWQB}&jR8%W#u;$bSOfp{L?M3>9UFULp_;ow za?oFygr+Kp#s(gLmB+PM0F$P=&VextyHZf>j%;Jtmn5*J;{j*GI%CN&$BSRe&D@#} zXVrD3ps5mrbqVk8YQ$Un@^$>tx|$pVB6hlAiAPRPGy66z{|xziZoKALs&YK!DvGRM z?pBU{>H1!K&Eb0XfKQ}a*M{hP{_^TNXWC}`SQC<2+yVlGbgP7P5pEK8>NslRlbkn> zFSFv?)i^B_vxBR4tclt&wy!+|%&D|}g_6&A5q_f4dw%}!t)|+Oc=c51zcPE0%2hqGe z%dc&WZ~azYYKmUWyE=3Q%GeJZ7_V(o zDL{9dHJAc2^Xnh>D?((G)f(xZ`S?#wfGg-*r{ePq(T+cL=$G{TEs% z{Sq<=za;(a7BW_{)2S2*vo}R0{9g!zn|?`rN*Xin#`0tc|L}D9pgW>L>$L*OBEUUo z2Jfhfrb;Q`_g)-+Z`Kg9V!7X?Xke8!JT4BH9DF!uVHQ}S8ji=8)MicC$VR<2BBG^X zWgmY;k$Pj_6ivZ!JTx?}M{R36P;yr(IA{8b!sYa∬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
w}A{*W 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

Y%D1?-2GUDr<)x) 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

NBBnC1%KGTkG1}cxv@;QL~_>7=ERFiK|zWC z$9h;ch@$AN`kwB5Zvh;>A~Q&{xE2k%DIl|>`(#r+mQiL@G%z3TOVVMKy?>2G>-0Mv zBfRECNz^(2YFqHv$&tMY&b?K}b$ssNv97nTGG29Bi{-nDteJTCptN8fngk-j0&bvXUgF! z=m=oZsdbuCjb^2$2xxdmur6o4dvd9q!E`9=f=r;e_H#c(wukRVt)Ut|2lXci_9E1? zC6-`45$&kwmzn!V9mObk{osOghpto88f&@Wx`uV6d3$~|6N9STsD7qsd-?`Kj!^-ynBmKk87jZu(?n))Ck)j#XBEb+ll=$X)Aoi9;n} zQ|MsQs4tfBhp$zSSaQ`R{RXj6>$JylyS8Vo^1&%z&(<8EZ}E5x1 z+UKKcj<5GVi7}hwT+_Y*0vrVTc*?!!k89g%-=|a=bG0MA5`2jc*kdXS^#`xquI5)} zc@m~q9dZXDT`U4Voi6ju;`;ct!o0~8qUKN5;FBfM%29d&n^G>*+6g2&M6Q=|B~PB& zcA+Yya$Op^TQGbp;j_vJia0#7wEHO?zgMG7AR z@heo3vEG4a{IuXno9qXxKNz>SJLW=A20oWRT;??}pIM~vmbHD5@q-erTN787bZVHr zCJ~_4O~mbdTcgM<#Mcdet(jc8(5QR@ZT})5vZoa?n zAYs?igURE@CjNa5HxJDU7@^9rZbqzN*e*aSr`b`3SR#%*JK1*@-F{=iUlHS*B+)qz zeoO62xC8x~GZTP*EuNN6cy=T2?hv3DH=2fS%)UVq{Y%tu90p5z*8JeT+<6hk)fxs4z8bTU=y+H4229_l+ zhOztKoI^ BzO=HS2iRJOaC=%p{G1evV%vCra#Rk89ngsWY)A3O}d;xiyT8JpFp9 zRvME>`e|1}Klfg+i|_~kd=^bDoZ!6@u(Ekms%@c{Z*H?SGBlLZ6%sZmu;rcwmA&aA zxk$f~r}VFlD73hfsRdhP!1no6dY}CgaGUzGX8d^TJIb8gHT}Wu-{%6$NhByCr(Ug> zQ1ZRZ<0oh#8wKY|O!8EcdS?Gue@a2GwhH6+nN5bx_dM>xGVfR?bA{?Qgu}Tz`ff|PRVh2Do*CNK{`NB65@T_Q!xGO1iHx31hJ*s7q;PO`t-!MDZ&4U0 zk@L-%wm{GfhLM2x&#b_SvV_$9085q7fyQy>zPa@4{;RJKxC6-K@}dg4JIUz++>6Mg zkMSi4Ro8UkON&I@!(ZcnK3gPfYZSW2E_0mI^xLjT>$?foZT5G^#+lmgrO?lNpG=zr zsuwDJ|Lp67Yq$$sA5r`}lJ{kiSclHRU_4Sji335%FkmV4@sDonRV{efDzm=MX4#>6 z)0zTyMYOPWiW!qY!WQ@@6X2YXW7=x-VD%5l6u)whB!Qgc3uN;XZ*Ud1=$AZR%B{R2 zkt#p9eZ)ZuVYJ}3*!`_(mF)s^Qrl&E_`94wb^u6zXeoe}=$Re^{wrDt^O@hVu-hd2 zBifpZiVV}0+?}JCc?*PRwNB=!ji+*_D3!@*G|ns?s*zmO4BCe(Bv-tgM7`w+{f9NB zAmL%}n@Y^x2r{EaWPnlgrg+)gw0wBCL;QN|8}LJ7t;4o-E$DWm*7eLHAr}F4Fh)jI zm?M%ZfXHwD7mwW;ip5uSVy>{mEVB_1XZ0s+Rlb~BBEv{l4eolod6TNPbpZ=%0A~BO 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⪳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%0AvZT5j93OmO2&fhntgPrzgKJTp3Ba0yog@WE~4N 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 z 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 z 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

fQ99b7j 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

%3#L_Fo=86Z^5-2|{9}slz=WP34?)Fa< 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 XErV*`(C*)& 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 H$M63EP*ywJ diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md index b14565680f..51f73ae6cc 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/disable-new-dma-devices-when-this-computer-is-locked.md @@ -15,6 +15,9 @@ Devices that were already enumerated when the device was unlocked will continue This policy setting is only enforced when BitLocker or device encryption is enabled. +> [!IMPORTANT] +> This policy is not compatible with *Kernel DMA Protection*. It's recommended to disable this policy if the system supports Kernel DMA Protection, as Kernel DMA Protection provides higher security for the system. For more information about Kernel DMA Protection, see [Kernel DMA Protection](../../../../hardware-security/kernel-dma-protection-for-thunderbolt.md). + | | Path | |--|--| | **CSP** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index aa0c682d83..f89957a665 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -13,32 +13,38 @@ ms.date: 09/25/2023 BitLocker is a Windows security feature that provides encryption for entire volumes.\ BitLocker addresses the threats of data theft or exposure from lost, stolen, or inappropriately decommissioned devices. +## Practical applications + +Data on a lost or stolen device is vulnerable to unauthorized access, either by running a software-attack tool against it, or by transferring the computer's hard drive to a different computer. BitLocker helps mitigate unauthorized data access by enhancing file and system protections. BitLocker also helps render data inaccessible when BitLocker-protected devices are decommissioned or recycled. + +## BitLocker and TPM + BitLocker provides maximum protection when used with a Trusted Platform Module (TPM). A TPM is a hardware component installed in many devices and it works with BitLocker to help protect user data and to ensure that a computer hasn't been tampered with while the system is offline. On devices that don't have a TPM, BitLocker can still be used to encrypt the operating system drive. However, this implementation requires the user to insert a USB key to start the device or when resuming from hibernation. A password can also be used to protect the OS volume on a device without TPM. Both options don't provide the pre-startup system integrity verification offered by BitLocker with a TPM. In addition to the TPM, BitLocker offers the option to lock the normal startup process until the user supplies a personal identification number (PIN) or inserts a removable device (such as a USB drive) that contains a startup key. These additional security measures provide multifactor authentication and assurance that the device won't start or resume from hibernation until the correct PIN or startup key is presented. -## Practical applications - -Data on a lost or stolen device is vulnerable to unauthorized access, either by running a software-attack tool against it, or by transferring the computer's hard drive to a different computer. BitLocker helps mitigate unauthorized data access by enhancing file and system protections. BitLocker also helps render data inaccessible when BitLocker-protected devices are decommissioned or recycled. - ## System requirements -BitLocker has the following hardware requirements: +BitLocker has the following requirements: - For BitLocker to use the system integrity check provided by a TPM, the device must have TPM 1.2 or later versions. If a device doesn't have a TPM, saving a startup key on a removable drive is mandatory when enabling BitLocker - A device with a TPM must also have a Trusted Computing Group (TCG)-compliant BIOS or UEFI firmware. The BIOS or UEFI firmware establishes a chain of trust for the pre-operating system startup, and it must include support for TCG-specified Static Root of Trust Measurement. A computer without a TPM doesn't require TCG-compliant firmware - The system BIOS or UEFI firmware (for TPM and non-TPM devices) must support the USB mass storage device class, including reading small files on a USB drive in the pre-operating system environment > [!NOTE] - > TPM 2.0 is not supported in Legacy and Compatibility Support Module (CSM) modes of the BIOS. Devices with TPM 2.0 must have their BIOS mode configured as native UEFI only. The Legacy and CSM options must be disabled. For added security, enable the secure boot feature. + > TPM 2.0 is not supported in *Legacy* and *Compatibility Support Module (CSM)* modes of the BIOS. Devices with TPM 2.0 must have their BIOS mode configured as native UEFI only. The Legacy and CSM options must be disabled. For added security, enable the secure boot feature. > - > Installed Operating System on hardware in Legacy mode stops the OS from booting when the BIOS mode is changed to UEFI. Use the tool [`mbr2gpt`](/windows/deployment/mbr-to-gpt) before changing the BIOS mode, which prepares the OS and the disk to support UEFI. + > Installed Operating System on hardware in Legacy mode stops the OS from booting when the BIOS mode is changed to UEFI. Use the tool [`mbr2gpt.exe`](/windows/deployment/mbr-to-gpt) before changing the BIOS mode, which prepares the OS and the disk to support UEFI. - The hard disk must be partitioned with at least two drives: - The *operating system drive* (or boot drive) contains the OS and its support files. It must be formatted with the NTFS file system - - The *system drive* contains the files that are needed to load Windows after the firmware has prepared the system hardware. BitLocker isn't enabled on this drive. For BitLocker to work, the system drive must not be encrypted, must differ from the operating system drive, and must be formatted with the FAT32 file system on computers that use UEFI-based firmware or with the NTFS file system on computers that use BIOS firmware. It's recommended that the system drive be approximately 350 MB in size. After BitLocker is turned on, it should have approximately 250 MB of free space + - The *system drive* contains the files that are needed to load Windows after the firmware has prepared the system hardware. BitLocker isn't enabled on this drive. For BitLocker to work, the system drive: + - must not be encrypted + - must differ from the operating system drive + - must be formatted with the FAT32 file system on computers that use UEFI-based firmware, or with the NTFS file system on computers that use BIOS firmware + - it's recommended that to be approximately 350 MB in size. After BitLocker is turned on, it should have approximately 250 MB of free space > [!IMPORTANT] > When installed on a new device, Windows automatically creates the partitions that are required for BitLocker. From eb02fd55f7f075e2402ea77a43d41b09115a2068 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 2 Oct 2023 13:37:56 -0400 Subject: [PATCH 056/505] updates --- .../bitlocker/bitlocker-recovery-guide-plan.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md index 1744bbab08..433cd7e9a0 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md @@ -506,3 +506,16 @@ The recovery password and be invalidated and reset in two ways: > [!WARNING] > The braces `{}` must be included in the ID string. + + \ No newline at end of file From 7e6cea1ca002bbe3185fbdd14261534ae317e784 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 2 Oct 2023 14:25:40 -0400 Subject: [PATCH 057/505] sample PS --- .../bitlocker-recovery-guide-plan.md | 51 ++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md index 433cd7e9a0..90b2910573 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md @@ -518,4 +518,53 @@ Export a new key package from an unlocked, BitLocker-protected volume. Local adm strRecoveryPassword = objFveInfo.Get("msFVE-RecoveryPassword") strKeyPackage = objFveInfo.Get("msFVE-KeyPackage") ---> \ No newline at end of file +--> + +### Example: retrieve Bitlocker recovery keys for a Microsoft Entra joined device + +``` PowerShell +function Get-EntraBitLockerKeys{ + [CmdletBinding()] + param ( + [Parameter(Mandatory = $true, HelpMessage = "Device name to retrieve the BitLocker keys from Microsoft Entra ID")] + [string]$DeviceName + ) + $DeviceID = (Get-MGDevice -filter "displayName eq '$DeviceName'").DeviceId + if ($DeviceID){ + $KeyIds = (Get-MgInformationProtectionBitlockerRecoveryKey -Filter "deviceId eq '$DeviceId'").Id + if ($keyIds) { + Write-Host -ForegroundColor Yellow "Device name: $devicename" + foreach ($keyId in $keyIds) { + $recoveryKey = (Get-MgInformationProtectionBitlockerRecoveryKey -BitlockerRecoveryKeyId $keyId -Select "key").key + Write-Host -ForegroundColor White " Key id: $keyid" + Write-Host -ForegroundColor Cyan " BitLocker recovery key: $recoveryKey" + } + } else { + Write-Host -ForegroundColor Red "No BitLocker recovery keys found for device $DeviceName" + } + } else { + Write-Host -ForegroundColor Red "Device $DeviceName not found" + } +} + +Install-Module Microsoft.Graph.Identity.SignIns -Scope CurrentUser -Force +Import-Module Microsoft.Graph.Identity.SignIns +Connect-MgGraph -Scopes 'BitlockerKey.Read.All' -NoWelcome +``` + +### Output example + +``` PowerShell +PS C:\> Get-EntraBitLockerKeys -DeviceName DESKTOP-53O32QI +Device name: DESKTOP-53O32QI + Key id: 4290b6c0-b17a-497a-8552-272cc30e80d4 + BitLocker recovery key: 496298-461032-321464-595518-463221-173943-033616-139579 + Key id: 045219ec-a53b-41ae-b310-08ec883aaedd + BitLocker recovery key: 158422-038236-492536-574783-256300-205084-114356-069773 + Key id: 69622eba-9068-449d-bc94-53e375cf5d58 + BitLocker recovery key: 117612-564564-392623-622424-499697-461120-039083-522236 + Key id: 96723a5a-1cf7-4fd6-8142-1c6603195aec + BitLocker recovery key: 230428-214104-446864-180785-025949-078650-715165-409893 + Key id: 6a7e153f-d5e9-4547-96d6-174ff0d0bdb4 + BitLocker recovery key: 241846-437393-298925-499389-123255-123640-709808-330682 +``` \ No newline at end of file From 0352fb918632c4f145cb9742832a8969f3a403c2 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 2 Oct 2023 16:07:25 -0400 Subject: [PATCH 058/505] BitLocker countermeasures article --- .../bitlocker/bcd-settings-and-bitlocker.md | 2 +- .../bitlocker/countermeasures.md | 86 ++++++++----------- .../data-protection/bitlocker/index.md | 3 + ...le-network-unlock.md => network-unlock.md} | 0 .../data-protection/bitlocker/toc.yml | 2 +- 5 files changed, 40 insertions(+), 53 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{bitlocker-how-to-enable-network-unlock.md => network-unlock.md} (100%) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md index 5c928a8adb..a79a35b319 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bcd-settings-and-bitlocker.md @@ -19,7 +19,7 @@ If the default BCD setting persistently triggers a recovery for benign changes, One of the benefits of using secure boot is that it can correct BCD settings during boot without triggering recovery events. Secure boot enforces the same BCD settings as BitLocker. Secure boot BCD enforcement isn't configurable from within the operating system. -## Customizing BCD validation settings +## Customize BCD validation settings To modify the BCD settings that are validated by BitLocker, the administrator will add or exclude BCD settings from the platform validation profile by enabling and configuring the **[Use enhanced Boot Configuration Data validation profile](policy-settings.md?tabs=os#use-enhanced-boot-configuration-data-validation-profile)** policy setting. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index c6cd4d6f6f..c2db0a91ce 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -11,18 +11,11 @@ Windows uses hardware solutions and security features that protect BitLocker enc ## Protection before startup -Before Windows starts, security features implemented as part of the device hardware and firmware must be relied on, including TPM and secure boot. These features ensure that the device hasn't been tampered with while the system was offline. +Before Windows starts, security features implemented as part of the device hardware and firmware must be relied on, including TPM and secure boot. These features ensure that the device hasn't been tampered with while the system was offline: -### Trusted Platform Module - -A TPM is a microchip designed to provide basic security-related functions, primarily involving encryption keys. BitLocker binds encryption keys with the TPM to ensure that a computer hasn't been tampered with while the system was offline. For more information about TPM, see [Trusted Platform Module](/windows/device-security/tpm/trusted-platform-module-overview). - -### UEFI and Secure Boot - -Unified Extensible Firmware Interface (UEFI) is a programmable boot environment that initializes devices and starts the operating system's bootloader.\ -The UEFI specification defines a firmware execution authentication process called [Secure Boot](../../system-security/secure-the-windows-10-boot-process.md). Secure Boot blocks untrusted firmware and bootloaders (signed or unsigned) from being able to start on the system. - -By default, BitLocker provides integrity protection for Secure Boot by utilizing the TPM PCR[7] measurement. An unauthorized EFI firmware, EFI boot application, or bootloader can't run and acquire the BitLocker key. +- a *TPM* is a chip designed to provide basic security-related functions, primarily involving encryption keys. BitLocker binds encryption keys with the TPM to ensure that the device hasn't been tampered with while the system was offline. For more information about TPM, see [Trusted Platform Module](/windows/device-security/tpm/trusted-platform-module-overview) +- *Unified Extensible Firmware Interface (UEFI)* is a programmable boot environment that initializes devices and starts the operating system's bootloader. The UEFI specification defines a firmware execution authentication process called [Secure Boot](../../system-security/secure-the-windows-10-boot-process.md) +- *Secure Boot* blocks untrusted firmware and bootloaders (signed or unsigned) from being able to start on the system. By default, BitLocker provides integrity protection for Secure Boot by utilizing the TPM PCR[7] measurement. An unauthorized EFI firmware, EFI boot application, or bootloader can't run and acquire the BitLocker key ### BitLocker and reset attacks @@ -30,31 +23,28 @@ To defend against malicious reset attacks, BitLocker uses the TCG Reset Attack M ## Security policies -The next sections cover pre-boot authentication and DMA policies that can provide additional protection for BitLocker. +Pre-boot authentication and DMA policies provide additional protection for BitLocker. ### Pre-boot authentication -Pre-boot authentication with BitLocker is a policy setting that requires the use of either user input, such as a PIN, a startup key, or both to authenticate prior to making the contents of the system drive accessible. The policy setting is [Require additional authentication at startup](policy-settings.md). +Pre-boot authentication with BitLocker can require the use of either user input, such as a PIN, a startup key, or both to authenticate prior to making the contents of the system drive accessible. -BitLocker accesses and stores the encryption keys in memory only after pre-boot authentication is completed. If Windows can't access the encryption keys, the device can't read or edit the files on the system drive. The only option for bypassing pre-boot authentication is entering the recovery key. +BitLocker accesses and stores the encryption keys in memory only after pre-boot authentication is completed. If Windows can't access the encryption keys, the device can't read or edit the files on the system drive. The only option for bypassing pre-boot authentication is entering the *recovery key*. -Pre-boot authentication is designed to prevent the encryption keys from being loaded to system memory without the trusted user supplying another authentication factor such as a PIN or startup key. This feature helps mitigate DMA and memory remanence attacks. +Pre-boot authentication is designed to prevent the encryption keys from being loaded to system memory without the trusted user supplying another authentication factor. This feature helps mitigate DMA and memory remanence attacks. -On computers with a compatible TPM, operating system drives that are BitLocker-protected can be unlocked in four ways: +On devices with a compatible TPM, operating system drives that are BitLocker-protected can be unlocked in four ways: -- **TPM-only.** Using TPM-only validation doesn't require any interaction with the user to unlock and provide access to the drive. If the TPM validation succeeds, the user sign-in experience is the same as a standard sign-in. If the TPM is missing or changed or if BitLocker detects changes to the BIOS or UEFI code or configuration, critical operating system startup files, or the boot configuration, BitLocker enters recovery mode, and the user must enter a recovery password to regain access to the data. This option is more convenient for sign-in but less secure than the other options, which require an additional authentication factor. - -- **TPM with startup key.** In addition to the protection that the TPM-only provides, part of the encryption key is stored on a USB flash drive, referred to as a startup key. Data on the encrypted volume can't be accessed without the startup key. - -- **TPM with PIN.** In addition to the protection that the TPM provides, BitLocker requires that the user enters a PIN. Data on the encrypted volume can't be accessed without entering the PIN. TPMs also have [anti-hammering protection](/windows/security/hardware-protection/tpm/tpm-fundamentals#anti-hammering) that is designed to prevent brute force attacks that attempt to determine the PIN. - -- **TPM with startup key and PIN.** In addition to the core component protection that the TPM-only provides, part of the encryption key is stored on a USB flash drive, and a PIN is required to authenticate the user to the TPM. This configuration provides multifactor authentication so that if the USB key is lost or stolen, it can't be used for access to the drive, because the correct PIN is also required. +- **TPM-only**: this option doesn't require any interaction with the user to unlock and provide access to the drive. If the TPM validation succeeds, the user sign-in experience is the same as a standard sign-in. If the TPM is missing or changed, or if BitLocker detects changes to the BIOS or UEFI configuration, critical operating system startup files, or the boot configuration, BitLocker enters recovery mode. The user must then enter a recovery password to regain access to the data. This option is more convenient for sign-in but less secure than the other options, which require an additional authentication factor +- **TPM with startup key**: in addition to the protection that the TPM-only provides, part of the encryption key is stored on a USB flash drive, referred to as a *startup key*. Data on the encrypted volume can't be accessed without the startup key +- **TPM with PIN**: in addition to the protection that the TPM provides, BitLocker requires that the user enters a PIN. Data on the encrypted volume can't be accessed without entering the PIN. TPMs also have [anti-hammering protection](/windows/security/hardware-protection/tpm/tpm-fundamentals#anti-hammering) that is designed to prevent brute force attacks that attempt to determine the PIN +- **TPM with startup key and PIN**: in addition to the protection that the TPM provides, part of the encryption key is stored on a USB flash drive, and a PIN is required to authenticate the user to the TPM. This configuration provides multifactor authentication so that if the USB key is lost or stolen, it can't be used for access to the drive, because the PIN is also required Pre-boot authentication with a PIN can mitigate an attack vector for devices that use a bootable eDrive because an exposed eDrive bus can allow an attacker to capture the BitLocker encryption key during startup. Pre-boot authentication with a PIN can also mitigate DMA port attacks during the window of time between when BitLocker unlocks the drive and Windows boots to the point that Windows can set any port-related policies that have been configured. -On the other hand, Pre-boot authentication-prompts can be inconvenient to users. In addition, users who forget their PIN or lose their startup key are denied access to their data until they can contact their organization's support team to obtain a recovery key. Pre-boot authentication can also make it more difficult to update unattended desktops and remotely administered servers because a PIN must be entered when a device reboots or resumes from hibernation. +On the other hand, Pre-boot authentication-prompts can be inconvenient to users. In addition, users who forget their PIN or lose their startup key are denied access to their data until they can contact their organization's support team to obtain a recovery key. Pre-boot authentication can also make it more difficult to update unattended or remotely administered devices because a PIN must be entered when a device reboots or resumes from hibernation. -To address these issues, [BitLocker Network Unlock](bitlocker-how-to-enable-network-unlock.md) can be deployed. Network Unlock allows systems within the physical enterprise security perimeter that meet the hardware requirements and have BitLocker enabled with TPM+PIN to boot into Windows without user intervention. It requires direct ethernet connectivity to an enterprise Windows Deployment Services (WDS) server. +To address these issues, [BitLocker Network Unlock](network-unlock.md) can be deployed. Network Unlock allows systems that meet the hardware requirements and have BitLocker enabled with TPM+PIN to boot into Windows without user intervention. It requires direct ethernet connectivity to a Windows Deployment Services (WDS) server. ### Protect DMA ports @@ -66,7 +56,7 @@ This section covers countermeasures for specific types of attacks. ### Bootkits and rootkits -A physically present attacker might attempt to install a bootkit or rootkit-like piece of software into the boot chain in an attempt to steal the BitLocker keys. The TPM should observe this installation via PCR measurements, and the BitLocker key won't be released. +A physically present attacker might attempt to install a bootkit or rootkit-like piece of software into the boot chain in an attempt to steal the BitLocker keys. The TPM should observe this installation via PCR measurements, and the BitLocker key isn't released. > [!NOTE] > BitLocker protects against this attack by default. @@ -79,7 +69,7 @@ Require TPM + PIN for anti-hammering protection. ### DMA attacks -See [Protecting Thunderbolt and other DMA ports](#protecting-thunderbolt-and-other-dma-ports) earlier in this article. +See [Protect DMA ports](#protect-dma-ports) earlier in this article. ### Paging file, crash dump, and Hyberfil.sys attacks @@ -87,26 +77,22 @@ These files are secured on an encrypted volume by default when BitLocker is enab ### Memory remanence -Enable secure boot and mandatorily prompt a password to change BIOS settings. For customers requiring protection against these advanced attacks, configure a TPM+PIN protector, disable Standby power management, and shut down or hibernate the device before it leaves the control of an authorized user. +Enable secure boot and mandatorily prompt a password to change BIOS settings. For scenarios requiring protection against these advanced attacks, configure a TPM+PIN protector, disable *standby* power management, and shut down or hibernate the device before it leaves the control of an authorized user. - +> [!NOTE] +> This setting doesn't have an impact on TPM-only mode, because it provides a transparent user experience at startup and when resuming from the Hibernate states. ### Tricking BitLocker to pass the key to a rogue operating system -An attacker might modify the boot manager configuration database (BCD) which is stored on a non-encrypted partition and add an entry point to a rogue operating system on a different partition. During the boot process, BitLocker code will make sure that the operating system that the encryption key obtained from the TPM is given to, is cryptographically verified to be the intended recipient. Because this strong cryptographic verification already exists, we don't recommend storing a hash of a disk partition table in Platform Configuration Register (PCR) 5. +An attacker might modify the boot manager configuration database (BCD), which is stored on a non-encrypted partition and add an entry point to a rogue operating system on a different partition. During the boot process, BitLocker code makes sure that the operating system that the encryption key obtained from the TPM is given to, is cryptographically verified to be the intended recipient. Because this strong cryptographic verification already exists, we don't recommend storing a hash of a disk partition table in Platform Configuration Register (PCR) 5. -An attacker might also replace the entire operating system disk while preserving the platform hardware and firmware and could then extract a protected BitLocker key blob from the metadata of the victim OS partition. The attacker could then attempt to unseal that BitLocker key blob by calling the TPM API from an operating system under their control. This will not succeed because when Windows seals the BitLocker key to the TPM, it does it with a PCR 11 value of 0, and to successfully unseal the blob, PCR 11 in the TPM must have a value of 0. However, when the boot manager passes the control to any boot loader (legitimate or rogue) it always changes PCR 11 to a value of 1. Since the PCR 11 value is guaranteed to be different after exiting the boot manager, the attacker can't unlock the BitLocker key. +An attacker might also replace the entire operating system disk while preserving the platform hardware and firmware and could then extract a protected BitLocker key blob from the metadata of the victim OS partition. The attacker could then attempt to unseal that BitLocker key blob by calling the TPM API from an operating system under their control. This won't succeed because when Windows seals the BitLocker key to the TPM, it does it with a PCR 11 value of 0, and to successfully unseal the blob, PCR 11 in the TPM must have a value of 0. However, when the boot manager passes the control to any boot loader (legitimate or rogue) it always changes PCR 11 to a value of 1. Since the PCR 11 value is guaranteed to be different after exiting the boot manager, the attacker can't unlock the BitLocker key. ## Attacker countermeasures @@ -132,22 +118,20 @@ Mitigation: -And- -- Disable Standby power management and shut down or hibernate the device before it leaves the control of an authorized user. This configuration can be set using the following Group Policy: +- Disable Standby power management and shut down or hibernate the device before it leaves the control of an authorized user. This configuration can be set using the following policy settings: - - *Computer Configuration* > *Policies* > *Administrative Templates* > *Windows Components* > *File Explorer* > **Show hibernate in the power options menu** - - - *Computer Configuration* > *Policies* > *Administrative Templates* > *Power Management* > *Sleep Settings* > **Allow standby states (S1-S3) when sleeping (plugged in)** - - - *Computer Configuration* > *Policies* > *Administrative Templates* > *Power Management* > *Sleep Settings* > **Allow standby states (S1-S3) when sleeping (on battery)** + - **Computer Configuration** > **Policies** > **Administrative Templates** > **Windows Components** > **File Explorer** > **Show hibernate in the power options menu** + - **Computer Configuration** > **Policies** > **Administrative Templates** > **Power Management** > **Sleep Settings** > + - **Allow standby states (S1-S3) when sleeping (plugged in)** + - **Allow standby states (S1-S3) when sleeping (on battery)** > [!IMPORTANT] > These settings are **not configured** by default. -For some systems, bypassing TPM-only may require opening the case, and may require soldering, but could possibly be done for a reasonable cost. Bypassing a TPM with a PIN protector would cost much more, and require brute forcing the PIN. With a sophisticated enhanced PIN, it could be nearly impossible. The Group Policy setting for [enhanced PIN](policy-settings.md) is: +For some systems, bypassing TPM-only may require opening the case, and may require soldering, but could possibly be done for a reasonable cost. Bypassing a TPM with a PIN protector would cost much more, and require brute forcing the PIN. With a sophisticated enhanced PIN, it could be nearly impossible. To learn more about the policy setting, see [Allow enhanced PINs for startup](policy-settings.md?tabs=os#allow-enhanced-pins-for-startup). -- *Computer Configuration* > *Policies* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > **Allow enhanced PINs for startup** +For secure administrative workstations, it's recommended to: -> [!IMPORTANT] -> This setting is **not configured** by default. - -For secure administrative workstations, Microsoft recommends a TPM with PIN protector and to disable Standby power management and shut down or hibernate the device. +- use a TPM with PIN protector +- disable standby power management +- shut down or hibernate the device before it leaves the control of an authorized user \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index f89957a665..50fe68eb0f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -55,3 +55,6 @@ BitLocker has the following requirements: > When installing the BitLocker optional component on a server, the *Enhanced Storage* feature must be installed. The feature is used to support hardware encrypted drives. [!INCLUDE [bitlocker](../../../../../includes/licensing/bitlocker-enablement.md)] + +> [!NOTE] +> Licensing requirements for BitLocker enablement are different from the licensing requirements for BitLocker management. To learn more, see [Configure BitLocker](configure.md). diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md b/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md rename to windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index f7f0a1346f..0d718a3523 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -4,7 +4,7 @@ items: - name: BitLocker device encryption href: bitlocker-device-encryption.md - name: BitLocker countermeasures - href: bitlocker-countermeasures.md + href: countermeasures.md - name: Deployment guides items: - name: Planning for BitLocker From 67ff759f20fcab5b91d84047f4a9c4e8795e4a94 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 2 Oct 2023 16:54:12 -0400 Subject: [PATCH 059/505] updates --- ...blishing.redirection.windows-security.json | 10 +++++++ .../kernel-dma-protection-for-thunderbolt.md | 2 +- .../bitlocker/countermeasures.md | 28 ++++++++++--------- .../data-protection/bitlocker/faq.yml | 2 +- .../data-protection/bitlocker/index.md | 6 ++++ ...nd-storage-area-networks-with-bitlocker.md | 0 ...ker-recovery-guide-plan.md => recovery.md} | 0 .../data-protection/bitlocker/toc.yml | 8 +++--- 8 files changed, 37 insertions(+), 19 deletions(-) rename protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md => windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md (100%) rename windows/security/operating-system-security/data-protection/bitlocker/{bitlocker-recovery-guide-plan.md => recovery.md} (100%) diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index 6caeb837aa..e1e02c8d2f 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -7424,6 +7424,16 @@ "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md", "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/policy-settings", "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/countermeasures", + "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/recovery", + "redirect_document_id": false } ] } diff --git a/windows/security/hardware-security/kernel-dma-protection-for-thunderbolt.md b/windows/security/hardware-security/kernel-dma-protection-for-thunderbolt.md index f7fd8927c1..ece78fcd57 100644 --- a/windows/security/hardware-security/kernel-dma-protection-for-thunderbolt.md +++ b/windows/security/hardware-security/kernel-dma-protection-for-thunderbolt.md @@ -74,7 +74,7 @@ If the current state of **Kernel DMA Protection** is **OFF** and **Hyper-V - Vir If the state of **Kernel DMA Protection** remains Off, then the system doesn't support Kernel DMA Protection. -For systems that don't support Kernel DMA Protection, refer to the [BitLocker countermeasures](../operating-system-security/data-protection/bitlocker/bitlocker-countermeasures.md) or [Thunderbolt 3 and Security on Microsoft Windows Operating system][EXT-1] for other means of DMA protection. +For systems that don't support Kernel DMA Protection, refer to the [BitLocker countermeasures](../operating-system-security/data-protection/bitlocker/countermeasures.md) or [Thunderbolt 3 and Security on Microsoft Windows Operating system][EXT-1] for other means of DMA protection. ## Frequently asked questions diff --git a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index c2db0a91ce..114384f149 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -23,15 +23,15 @@ To defend against malicious reset attacks, BitLocker uses the TCG Reset Attack M ## Security policies -Pre-boot authentication and DMA policies provide additional protection for BitLocker. +Preboot authentication and DMA policies provide extra protection for BitLocker. -### Pre-boot authentication +### Preboot authentication -Pre-boot authentication with BitLocker can require the use of either user input, such as a PIN, a startup key, or both to authenticate prior to making the contents of the system drive accessible. +Preboot authentication with BitLocker can require the use of either user input, such as a PIN, a startup key, or both to authenticate prior to making the contents of the system drive accessible. -BitLocker accesses and stores the encryption keys in memory only after pre-boot authentication is completed. If Windows can't access the encryption keys, the device can't read or edit the files on the system drive. The only option for bypassing pre-boot authentication is entering the *recovery key*. +BitLocker accesses and stores the encryption keys in memory only after preboot authentication is completed. If Windows can't access the encryption keys, the device can't read or edit the files on the system drive. The only option for bypassing preboot authentication is entering the *recovery key*. -Pre-boot authentication is designed to prevent the encryption keys from being loaded to system memory without the trusted user supplying another authentication factor. This feature helps mitigate DMA and memory remanence attacks. +Preboot authentication is designed to prevent the encryption keys from being loaded to system memory without the trusted user supplying another authentication factor. This feature helps mitigate DMA and memory remanence attacks. On devices with a compatible TPM, operating system drives that are BitLocker-protected can be unlocked in four ways: @@ -40,12 +40,14 @@ On devices with a compatible TPM, operating system drives that are BitLocker-pro - **TPM with PIN**: in addition to the protection that the TPM provides, BitLocker requires that the user enters a PIN. Data on the encrypted volume can't be accessed without entering the PIN. TPMs also have [anti-hammering protection](/windows/security/hardware-protection/tpm/tpm-fundamentals#anti-hammering) that is designed to prevent brute force attacks that attempt to determine the PIN - **TPM with startup key and PIN**: in addition to the protection that the TPM provides, part of the encryption key is stored on a USB flash drive, and a PIN is required to authenticate the user to the TPM. This configuration provides multifactor authentication so that if the USB key is lost or stolen, it can't be used for access to the drive, because the PIN is also required -Pre-boot authentication with a PIN can mitigate an attack vector for devices that use a bootable eDrive because an exposed eDrive bus can allow an attacker to capture the BitLocker encryption key during startup. Pre-boot authentication with a PIN can also mitigate DMA port attacks during the window of time between when BitLocker unlocks the drive and Windows boots to the point that Windows can set any port-related policies that have been configured. +Preboot authentication with a PIN can mitigate an attack vector for devices that use a bootable eDrive because an exposed eDrive bus can allow an attacker to capture the BitLocker encryption key during startup. Preboot authentication with a PIN can also mitigate DMA port attacks during the window of time between when BitLocker unlocks the drive and Windows boots to the point that Windows can set any port-related policies that have been configured. -On the other hand, Pre-boot authentication-prompts can be inconvenient to users. In addition, users who forget their PIN or lose their startup key are denied access to their data until they can contact their organization's support team to obtain a recovery key. Pre-boot authentication can also make it more difficult to update unattended or remotely administered devices because a PIN must be entered when a device reboots or resumes from hibernation. +On the other hand, Preboot authentication-prompts can be inconvenient to users. In addition, users who forget their PIN or lose their startup key are denied access to their data until they can contact their organization's support team to obtain a recovery key. Preboot authentication can also make it more difficult to update unattended or remotely administered devices because a PIN must be entered when a device reboots or resumes from hibernation. To address these issues, [BitLocker Network Unlock](network-unlock.md) can be deployed. Network Unlock allows systems that meet the hardware requirements and have BitLocker enabled with TPM+PIN to boot into Windows without user intervention. It requires direct ethernet connectivity to a Windows Deployment Services (WDS) server. +To learn more, see the policy setting [Require additional authentication at startup](policy-settings.md?tabs=os#require-additional-authentication-at-startup). + ### Protect DMA ports It's important to protect DMA ports, as external peripherals may gain unauthorized access to memory. Depending on the device capabilities, there are different options to protect DMA ports. To learn more, see the policy setting [Disable new DMA devices when this computer is locked](policy-settings.md?tabs=common#disable-new-dma-devices-when-this-computer-is-locked). @@ -90,9 +92,9 @@ Therefore, organizations that use BitLocker may want to use Hibernate instead of ### Tricking BitLocker to pass the key to a rogue operating system -An attacker might modify the boot manager configuration database (BCD), which is stored on a non-encrypted partition and add an entry point to a rogue operating system on a different partition. During the boot process, BitLocker code makes sure that the operating system that the encryption key obtained from the TPM is given to, is cryptographically verified to be the intended recipient. Because this strong cryptographic verification already exists, we don't recommend storing a hash of a disk partition table in Platform Configuration Register (PCR) 5. +An attacker might modify the boot manager configuration database (BCD), which is stored on a nonencrypted partition and add an entry point to a rogue operating system on a different partition. During the boot process, BitLocker code makes sure that the operating system that the encryption key obtained from the TPM is given to, is cryptographically verified to be the intended recipient. Because this strong cryptographic verification already exists, we don't recommend storing a hash of a disk partition table in Platform Configuration Register (PCR) 5. -An attacker might also replace the entire operating system disk while preserving the platform hardware and firmware and could then extract a protected BitLocker key blob from the metadata of the victim OS partition. The attacker could then attempt to unseal that BitLocker key blob by calling the TPM API from an operating system under their control. This won't succeed because when Windows seals the BitLocker key to the TPM, it does it with a PCR 11 value of 0, and to successfully unseal the blob, PCR 11 in the TPM must have a value of 0. However, when the boot manager passes the control to any boot loader (legitimate or rogue) it always changes PCR 11 to a value of 1. Since the PCR 11 value is guaranteed to be different after exiting the boot manager, the attacker can't unlock the BitLocker key. +An attacker might also replace the entire operating system disk while preserving the platform hardware and firmware and could then extract a protected BitLocker key blob from the metadata of the victim OS partition. The attacker could then attempt to unseal that BitLocker key blob by calling the TPM API from an operating system under their control. This can't succeed because when Windows seals the BitLocker key to the TPM, it does it with a PCR 11 value of 0, and to successfully unseal the blob, PCR 11 in the TPM must have a value of 0. However, when the boot manager passes the control to any boot loader (legitimate or rogue) it always changes PCR 11 to a value of 1. Since the PCR 11 value is guaranteed to be different after exiting the boot manager, the attacker can't unlock the BitLocker key. ## Attacker countermeasures @@ -106,15 +108,15 @@ This attacker of opportunity doesn't use destructive methods or sophisticated fo Mitigation: -- Pre-boot authentication set to TPM only (the default) +- Preboot authentication set to TPM only (the default) ### Attacker with skill and lengthy physical access -Targeted attack with plenty of time; this attacker will open the case, will solder, and will use sophisticated hardware or software. +Targeted attack with plenty of time; the attacker opens the case, solder, and uses sophisticated hardware or software. Mitigation: -- Pre-boot authentication set to TPM with a PIN protector (with a sophisticated alphanumeric PIN [enhanced pin] to help the TPM anti-hammering mitigation). +- Preboot authentication set to TPM with a PIN protector (with a sophisticated alphanumeric PIN [enhanced pin] to help the TPM anti-hammering mitigation). -And- @@ -128,7 +130,7 @@ Mitigation: > [!IMPORTANT] > These settings are **not configured** by default. -For some systems, bypassing TPM-only may require opening the case, and may require soldering, but could possibly be done for a reasonable cost. Bypassing a TPM with a PIN protector would cost much more, and require brute forcing the PIN. With a sophisticated enhanced PIN, it could be nearly impossible. To learn more about the policy setting, see [Allow enhanced PINs for startup](policy-settings.md?tabs=os#allow-enhanced-pins-for-startup). +For some systems, bypassing TPM-only may require opening the case, and may require soldering, but could possibly be done for a reasonable cost. Bypassing a TPM with a PIN protector would cost more, and require brute forcing the PIN. With a sophisticated enhanced PIN, it could be nearly impossible. To learn more about the policy setting, see [Allow enhanced PINs for startup](policy-settings.md?tabs=os#allow-enhanced-pins-for-startup). For secure administrative workstations, it's recommended to: diff --git a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml index 73ec4cf75e..9d6e947e05 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml @@ -5,7 +5,7 @@ metadata: ms.collection: - tier1 ms.topic: faq - ms.date: 09/29/2023 + ms.date: 10/02/2023 title: BitLocker FAQ summary: Learn more about BitLocker by reviewing the frequently asked questions. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index 50fe68eb0f..f3212e3be4 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -58,3 +58,9 @@ BitLocker has the following requirements: > [!NOTE] > Licensing requirements for BitLocker enablement are different from the licensing requirements for BitLocker management. To learn more, see [Configure BitLocker](configure.md). + +## Next steps + +> [!div class="nextstepaction"] +> Learn about technologies and features to protect against attacks on the BitLocker encryption key: +> [BitLocker countermeasures >](countermeasures.md) \ No newline at end of file diff --git a/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md similarity index 100% rename from protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md rename to windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery.md similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md rename to windows/security/operating-system-security/data-protection/bitlocker/recovery.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index 0d718a3523..c58c7125ab 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -1,8 +1,6 @@ items: - name: Overview href: index.md -- name: BitLocker device encryption - href: bitlocker-device-encryption.md - name: BitLocker countermeasures href: countermeasures.md - name: Deployment guides @@ -13,6 +11,8 @@ items: href: bitlocker-basic-deployment.md - name: BitLocker deployment comparison href: bitlocker-deployment-comparison.md +- name: BitLocker device encryption + href: bitlocker-device-encryption.md - name: How-to guides items: - name: Manage BitLocker in your organization @@ -35,8 +35,8 @@ items: href: policy-settings.md - name: BCD settings href: bcd-settings-and-bitlocker.md - - name: BitLocker frequently asked questions (FAQ) - href: faq.yml +- name: Frequently asked questions (FAQ) + href: faq.yml - name: Troubleshooting items: - name: Troubleshoot BitLocker 🔗 From 9dc4bb94f29975ff746e39c60f0631e5abedb468 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 2 Oct 2023 18:06:27 -0400 Subject: [PATCH 060/505] updates --- .openpublishing.redirection.windows-security.json | 5 +++++ .../bitlocker/bitlocker-device-encryption.md | 2 +- .../bitlocker-how-to-deploy-on-windows-server.md | 2 +- .../bitlocker-management-for-enterprises.md | 4 ++-- ...r-drive-encryption-tools-to-manage-bitlocker.md | 2 +- ...{bitlocker-basic-deployment.md => configure.md} | 2 +- .../data-protection/bitlocker/faq.yml | 2 +- .../includes/allow-network-unlock-at-startup.md | 2 +- ...-bitlocker-planning-and-policies.md => plan.md} | 10 +++++----- .../data-protection/bitlocker/toc.yml | 14 +++++++------- 10 files changed, 25 insertions(+), 20 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{bitlocker-basic-deployment.md => configure.md} (99%) rename windows/security/operating-system-security/data-protection/bitlocker/{prepare-your-organization-for-bitlocker-planning-and-policies.md => plan.md} (96%) diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index e1e02c8d2f..15d2edb55e 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -7434,6 +7434,11 @@ "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-recovery-guide-plan.md", "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/recovery", "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/network-unlock", + "redirect_document_id": false } ] } diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md index 6ad2f1a108..47e815ee11 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md @@ -94,7 +94,7 @@ Network Unlock requires the following infrastructure: - A server with the DHCP server role installed -For more information about how to configure Network unlock feature, see [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md). +For more information about how to configure Network unlock feature, see [BitLocker: How to enable Network Unlock](network-unlock.md). ## Microsoft BitLocker administration and monitoring diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-deploy-on-windows-server.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-deploy-on-windows-server.md index 1c64084bcd..0f6c4d617f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-deploy-on-windows-server.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-deploy-on-windows-server.md @@ -99,4 +99,4 @@ Enable-WindowsOptionalFeature -Online -FeatureName BitLocker, BitLocker-Utilitie - [BitLocker overview](index.md) - [BitLocker frequently asked questions (FAQ)](faq.yml) - [Prepare your organization for BitLocker: Planning and policies](prepare-your-organization-for-bitlocker-planning-and-policies.md) -- [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md) +- [BitLocker: How to enable Network Unlock](network-unlock.md) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md index cf8015982b..001a92385f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md @@ -42,7 +42,7 @@ The Minimal Server Interface is a prerequisite for some of the BitLocker adminis If a server is being installed manually, such as a stand-alone server, then choosing [Server with Desktop Experience](/windows-server/get-started/getting-started-with-server-with-desktop-experience/) is the easiest path because it avoids performing the steps to add a GUI to Server Core. - Additionally, lights-out data centers can take advantage of the enhanced security of a second factor while avoiding the need for user intervention during reboots by optionally using a combination of BitLocker (TPM+PIN) and BitLocker Network Unlock. BitLocker Network Unlock brings together the best of hardware protection, location dependence, and automatic unlock, while in the trusted location. For the configuration steps, see [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md). + Additionally, lights-out data centers can take advantage of the enhanced security of a second factor while avoiding the need for user intervention during reboots by optionally using a combination of BitLocker (TPM+PIN) and BitLocker Network Unlock. BitLocker Network Unlock brings together the best of hardware protection, location dependence, and automatic unlock, while in the trusted location. For the configuration steps, see [BitLocker: How to enable Network Unlock](network-unlock.md). For more information, see the BitLocker FAQs article and other useful links in [Related Articles](#related-articles). ## PowerShell examples @@ -105,7 +105,7 @@ Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pi - [How to update local source media to add roles and features](/archive/blogs/joscon/how-to-update-local-source-media-to-add-roles-and-features) - [How to add or remove optional components on Server Core](/archive/blogs/server_core/using-features-on-demand-with-updated-systems-and-patched-images) *(Features on Demand)* - [How to deploy BitLocker on Windows Server](bitlocker-how-to-deploy-on-windows-server.md) -- [How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md) +- [How to enable Network Unlock](network-unlock.md) - [Shielded VMs and Guarded Fabric](https://blogs.technet.microsoft.com/windowsserver/2016/05/10/a-closer-look-at-shielded-vms-in-windows-server-2016/) ### PowerShell diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md index cde89fc313..8073f52262 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md @@ -224,5 +224,5 @@ Add-BitLockerKeyProtector C: -ADAccountOrGroupProtector -ADAccountOrGroup S-1-5- - [BitLocker overview](index.md) - [BitLocker frequently asked questions (FAQ)](faq.yml) - [Prepare your organization for BitLocker: Planning and policies](prepare-your-organization-for-bitlocker-planning-and-policies.md) -- [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md) +- [BitLocker: How to enable Network Unlock](network-unlock.md) - [BitLocker: How to deploy on Windows Server 2012](bitlocker-how-to-deploy-on-windows-server.md) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-basic-deployment.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md similarity index 99% rename from windows/security/operating-system-security/data-protection/bitlocker/bitlocker-basic-deployment.md rename to windows/security/operating-system-security/data-protection/bitlocker/configure.md index 252147dd1d..cd33ef59b4 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-basic-deployment.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -451,5 +451,5 @@ Disable-BitLocker -MountPoint E:,F:,G: - [Prepare your organization for BitLocker: Planning and policies](prepare-your-organization-for-bitlocker-planning-and-policies.md) - [BitLocker recovery guide](bitlocker-recovery-guide-plan.md) -- [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md) +- [BitLocker: How to enable Network Unlock](network-unlock.md) - [BitLocker overview](index.md) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml index 9d6e947e05..c0eed9c67a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml @@ -388,7 +388,7 @@ sections: Network Unlock uses two protectors - the TPM protector and the protector provided by the network or by the PIN. Automatic unlock uses a single protector - the one stored in the TPM. If the computer is joined to a network without the key protector, it will prompt to enter a PIN. If the PIN isn't available, the recovery key will need to be used to unlock the computer if it can't be connected to the network. - For more info, see [BitLocker: How to enable Network Unlock](bitlocker-how-to-enable-network-unlock.md). + For more info, see [BitLocker: How to enable Network Unlock](network-unlock.md). - name: Use BitLocker with other programs questions: diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md index fffb6d2a20..436b2dd8a3 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-network-unlock-at-startup.md @@ -18,7 +18,7 @@ If you disable or don't configure this policy setting, BitLocker clients won't b > [!NOTE] > For reliability and security, computers should also have a TPM startup PIN that can be used when the computer is disconnected from the wired network or the server at startup. -For more information about Network Unlock feature, see [BitLocker: How to enable Network Unlock](../bitlocker-how-to-enable-network-unlock.md) +For more information about Network Unlock feature, see [BitLocker: How to enable Network Unlock](../network-unlock.md) | | Path | |--|--| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md b/windows/security/operating-system-security/data-protection/bitlocker/plan.md similarity index 96% rename from windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md rename to windows/security/operating-system-security/data-protection/bitlocker/plan.md index 5b3837ef6b..17c348dd2f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/plan.md @@ -1,11 +1,11 @@ --- -title: Prepare the organization for BitLocker Planning and policies -description: This article for the IT professional explains how can to plan for a BitLocker deployment. +title: Plan for a BitLocker deployment +description: Learn how to plan for a BitLocker deployment in your organization. ms.topic: conceptual ms.date: 11/08/2022 --- -# Prepare an organization for BitLocker: Planning and policies +# Plan for a BitLocker deployment This article for the IT professional explains how to plan BitLocker deployment. @@ -132,7 +132,7 @@ Administrators can enable BitLocker before to operating system deployment from t ## Used Disk Space Only encryption -The BitLocker Setup wizard provides administrators the ability to choose the Used Disk Space Only or Full encryption method when enabling BitLocker for a volume. Administrators can use the new BitLocker group policy setting to enforce either Used Disk Space Only or Full disk encryption. +The BitLocker Setup wizard provides administrators the ability to choose the Used Disk Space Only or Full encryption method when enabling BitLocker for a volume. Administrators can use the BitLocker policy setting to enforce either Used Disk Space Only or Full disk encryption. Launching the BitLocker Setup wizard prompts for the authentication method to be used (password and smart card are available for data volumes). Once the method is chosen and the recovery key is saved, the wizard asks to choose the drive encryption type. Select Used Disk Space Only or Full drive encryption. @@ -142,7 +142,7 @@ With Full drive encryption, the entire drive is encrypted, whether data is store ## Active Directory Domain Services considerations -BitLocker integrates with Active Directory Domain Services (AD DS) to provide centralized key management. By default, no recovery information is backed up to Active Directory. Administrators can configure the following group policy setting for each drive type to enable backup of BitLocker recovery information: +BitLocker integrates with Microsoft Entra ID and Active Directory Domain Services (AD DS) to provide centralized key management. By default, no recovery information is backed up to Active Directory. Administrators can configure the following group policy setting for each drive type to enable backup of BitLocker recovery information: **Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > ***drive type*** > **Choose how BitLocker-protected drives can be recovered**. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index c58c7125ab..cb5af928c0 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -5,10 +5,10 @@ items: href: countermeasures.md - name: Deployment guides items: - - name: Planning for BitLocker - href: prepare-your-organization-for-bitlocker-planning-and-policies.md - - name: BitLocker basic deployment - href: bitlocker-basic-deployment.md + - name: Plan for a BitLocker deployment + href: plan.md + - name: Configure BitLocker + href: configure.md - name: BitLocker deployment comparison href: bitlocker-deployment-comparison.md - name: BitLocker device encryption @@ -21,14 +21,14 @@ items: href: bitlocker-how-to-deploy-on-windows-server.md - name: Manage BitLocker with Drive Encryption Tools href: bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md - - name: Use BitLocker Recovery Password Viewer - href: bitlocker-use-bitlocker-recovery-password-viewer.md - name: BitLocker Recovery Guide href: bitlocker-recovery-guide-plan.md - name: Protect cluster shared volumes and storage area networks with BitLocker href: protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md - name: Network Unlock - href: bitlocker-how-to-enable-network-unlock.md + href: network-unlock.md + - name: BitLocker Recovery Password Viewer + href: bitlocker-use-bitlocker-recovery-password-viewer.md - name: Reference items: - name: BitLocker policy settings From b97d52017f60d2805fde27561ff4137b4b4db835 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 2 Oct 2023 18:07:30 -0400 Subject: [PATCH 061/505] updates --- .openpublishing.redirection.windows-security.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index 15d2edb55e..9000562596 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -7439,6 +7439,16 @@ "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md", "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/network-unlock", "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-basic-deployment.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/configure", + "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/plan" + "redirect_document_id": false } ] -} +} \ No newline at end of file From c16226c8b962413b85cac8514db5e5e884568eb6 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 2 Oct 2023 18:17:58 -0400 Subject: [PATCH 062/505] updates --- .openpublishing.redirection.windows-security.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index 9000562596..49bb203d1e 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -7447,7 +7447,7 @@ }, { "source_path": "windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md", - "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/plan" + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/plan", "redirect_document_id": false } ] From 924e677459027a8c126e20abb35a922fe7bcb395 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 2 Oct 2023 16:02:29 -0700 Subject: [PATCH 063/505] xplat-copilot-8348943 --- windows/client-management/copilot-overview.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 windows/client-management/copilot-overview.md diff --git a/windows/client-management/copilot-overview.md b/windows/client-management/copilot-overview.md new file mode 100644 index 0000000000..03652ef8a4 --- /dev/null +++ b/windows/client-management/copilot-overview.md @@ -0,0 +1,14 @@ +--- +title: Copilot in Windows Overview +description: Learn about Copilot in Windows. +ms.topic: overview +ms.date: 10/26/2023 +appliesto: +- ✅ Windows 11, version 22H2 or later +--- + +# What is Copilot in Windows? + +Copilot in Windows provides centralized generative AI assistance to your users right from the desktop. + +## From 4f6a744953639c13529e50f821e57aba77aa3cbf Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 3 Oct 2023 05:26:49 -0400 Subject: [PATCH 064/505] updates --- .../bitlocker/bitlocker-deployment-comparison.md | 8 ++++---- .../data-protection/bitlocker/plan.md | 16 ++++++---------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md index ebe9a4d9a8..c0a7e8005b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md @@ -12,7 +12,7 @@ This article compares the BitLocker management options between Microsoft Intune | Requirements | Microsoft Intune | Microsoft Configuration Manager | |--|--|--| | *Supported Windows client editions* | Pro, Enterprise, Pro Education, Education | Pro, Enterprise, Pro Education, Education | -| *Windows server support* | | ✅ | +| *Windows server support* | ❌ | ❌ | | *Supported domain-joined status* | Microsoft Entra joined and hybrid joined | Active Directory-joined, Microsoft Entra hybrid joined | | *Permissions required to manage policies* | Endpoint security manager or custom | Full administrator or custom | | *Cloud or on premises* | Cloud | On premises | @@ -34,9 +34,9 @@ This article compares the BitLocker management options between Microsoft Intune | *Support for organization unique IDs* | ✅ | ✅ | | *Self-service recovery* | ✅ | ✅ | | *Recovery password rotation for fixed and operating environment drives* | ✅ | ✅ | -| *Wait to complete encryption until recovery information is backed up to Microsoft Entra ID* | ✅ | | +| *Wait to complete encryption until recovery information is backed up to Microsoft Entra ID* | ✅ | ❌ | | *Wait to complete encryption until recovery information is backed up to Active Directory* | ✅ | ✅ | -| *Allow or deny Data Recovery Agent* | ✅ | | -| *Unlock a volume using certificate with custom object identifier* | | ✅ | +| *Allow or deny Data Recovery Agent* | ✅ | ❌ | +| *Unlock a volume using certificate with custom object identifier* | ❌ | ❌ | | *Prevent memory overwrite on restart* | ✅ | ✅ | | *Manage auto-unlock functionality* | ✅ | ✅ | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/plan.md b/windows/security/operating-system-security/data-protection/bitlocker/plan.md index 17c348dd2f..aaf5163a79 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/plan.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/plan.md @@ -17,15 +17,11 @@ To plan a BitLocker deployment, understand the current environment. Perform an i To help document the organization's current disk encryption security policies, answer the following questions: -1. Are there policies to determine which computers will use BitLocker and which computers won't use BitLocker? - -2. What policies exist to control recovery password and recovery key storage? - -3. What are the policies for validating the identity of users who need to perform BitLocker recovery? - -4. What policies exist to control who in the organization has access to recovery data? - -5. What policies exist to control computer decommissioning or retirement? +- Are there policies to determine which computers will use BitLocker and which computers won't use BitLocker? +- What policies exist to control recovery password and recovery key storage? +- What are the policies for validating the identity of users who need to perform BitLocker recovery? +- What policies exist to control who in the organization has access to recovery data? +- What policies exist to control computer decommissioning or retirement? ## Encryption keys and authentication @@ -122,7 +118,7 @@ Windows RE can also be used from boot media other than the local hard disk. If W ## BitLocker provisioning -In Windows Vista and Windows 7, BitLocker was provisioned after the installation for system and data volumes. It used the `manage-bde` command line interface or the Control Panel user interface. With newer operating systems, BitLocker can be provisioned before the operating system is installed. Preprovisioning requires the computer have a TPM. +BitLocker can be provisioned before the operating system is installed. Preprovisioning requires the computer have a TPM. To check the BitLocker status of a particular volume, administrators can look at the drive status in the BitLocker control panel applet or Windows Explorer. The "Waiting For Activation" status with a yellow exclamation icon means that the drive was preprovisioned for BitLocker. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't protected, and needs to have a secure key added to the volume before the drive is considered fully protected. Administrators can use the control panel options, the **manage-bde** tool, or WMI APIs to add an appropriate key protector. The volume status will be updated. From 5b2de5391de4a9402de1d276e6c75e5bb8c6b3e5 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 3 Oct 2023 06:45:37 -0400 Subject: [PATCH 065/505] removing dup'd content --- ...blishing.redirection.windows-security.json | 10 ++ .../bitlocker-management-for-enterprises.md | 69 +------- .../data-protection/bitlocker/configure.md | 163 +++++------------- ...-networks-with-bitlocker.md => csv-san.md} | 0 ...tools-to-manage-bitlocker.md => manage.md} | 99 +++++------ .../data-protection/bitlocker/toc.yml | 4 +- 6 files changed, 104 insertions(+), 241 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md => csv-san.md} (100%) rename windows/security/operating-system-security/data-protection/bitlocker/{bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md => manage.md} (65%) diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index 49bb203d1e..2490ae95e9 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -7449,6 +7449,16 @@ "source_path": "windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md", "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/plan", "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/manage", + "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/csv-san", + "redirect_document_id": false } ] } \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md index 001a92385f..3e06fa9225 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md @@ -34,9 +34,9 @@ For hardware that is compliant with Modern Standby and HSTI, when using either o For Windows PCs and Windows Phones that are enrolled using **Connect to work or school account**, BitLocker Device Encryption is managed over MDM, the same as devices joined to Azure AD. -## Managing servers +## Manage servers -Servers are often installed, configured, and deployed using PowerShell; therefore, the recommendation is to also use [PowerShell to enable BitLocker on a server](bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md#bitlocker-cmdlets-for-windows-powershell), ideally as part of the initial setup. BitLocker is an Optional Component (OC) in Windows Server; therefore, follow the directions in [BitLocker: How to deploy on Windows Server 2012 and later](bitlocker-how-to-deploy-on-windows-server.md) to add the BitLocker OC. +Servers are often installed, configured, and deployed using PowerShell; therefore, the recommendation is to also use [PowerShell to enable BitLocker on a server](manage.md#bitlocker-cmdlets-for-windows-powershell), ideally as part of the initial setup. BitLocker is an Optional Component (OC) in Windows Server; therefore, follow the directions in [BitLocker: How to deploy on Windows Server 2012 and later](bitlocker-how-to-deploy-on-windows-server.md) to add the BitLocker OC. The Minimal Server Interface is a prerequisite for some of the BitLocker administration tools. On a [Server Core](/windows-server/get-started/getting-started-with-server-core/) installation, the necessary GUI components must be added first. The steps to add shell components to Server Core are described in [Using Features on Demand with Updated Systems and Patched Images](/archive/blogs/server_core/using-features-on-demand-with-updated-systems-and-patched-images) and [How to update local source media to add roles and features](/archive/blogs/joscon/how-to-update-local-source-media-to-add-roles-and-features). @@ -45,69 +45,4 @@ If a server is being installed manually, such as a stand-alone server, then choo Additionally, lights-out data centers can take advantage of the enhanced security of a second factor while avoiding the need for user intervention during reboots by optionally using a combination of BitLocker (TPM+PIN) and BitLocker Network Unlock. BitLocker Network Unlock brings together the best of hardware protection, location dependence, and automatic unlock, while in the trusted location. For the configuration steps, see [BitLocker: How to enable Network Unlock](network-unlock.md). For more information, see the BitLocker FAQs article and other useful links in [Related Articles](#related-articles). -## PowerShell examples -For Azure AD-joined computers, including virtual machines, the recovery password should be stored in Azure AD. - -**Example**: *Use PowerShell to add a recovery password and back it up to Azure AD before enabling BitLocker* - -```powershell -Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector - -$BLV = Get-BitLockerVolume -MountPoint "C:" - -BackupToAAD-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId -``` - -For domain-joined computers, including servers, the recovery password should be stored in Active Directory Domain Services (AD DS). - -**Example**: *Use PowerShell to add a recovery password and back it up to AD DS before enabling BitLocker* - -```powershell -Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector - -$BLV = Get-BitLockerVolume -MountPoint "C:" - -Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId -``` - -PowerShell can then be used to enable BitLocker: - -**Example**: *Use PowerShell to enable BitLocker with a TPM protector* - -```powershell -Enable-BitLocker -MountPoint "D:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector -``` - -**Example**: *Use PowerShell to enable BitLocker with a TPM+PIN protector, in this case with a PIN set to 123456* - -```powershell -$SecureString = ConvertTo-SecureString "123456" -AsPlainText -Force - -Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pin $SecureString -TPMandPinProtector -``` - -## Related Articles - -- [BitLocker: FAQs](faq.yml) -- [Microsoft BitLocker Administration and Management (MBAM)](/microsoft-desktop-optimization-pack/mbam-v25/) -- [Overview of BitLocker Device Encryption](bitlocker-device-encryption.md) -- [BitLocker policy settings](policy-settings.md) -- [Microsoft Intune](https://www.microsoft.com/cloud-platform/microsoft-intune/) -*(Overview)* -- [Configuration Settings Providers](/windows/client-management/mdm/policy-configuration-service-provider) -*(Policy CSP: See [Security-RequireDeviceEncryption](/windows/client-management/mdm/policy-csp-security#security-policies))* -- [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/) - -### Windows Server setup tools - -- [Windows Server Installation Options](/windows-server/get-started-19/install-upgrade-migrate-19/) -- [How to update local source media to add roles and features](/archive/blogs/joscon/how-to-update-local-source-media-to-add-roles-and-features) -- [How to add or remove optional components on Server Core](/archive/blogs/server_core/using-features-on-demand-with-updated-systems-and-patched-images) *(Features on Demand)* -- [How to deploy BitLocker on Windows Server](bitlocker-how-to-deploy-on-windows-server.md) -- [How to enable Network Unlock](network-unlock.md) -- [Shielded VMs and Guarded Fabric](https://blogs.technet.microsoft.com/windowsserver/2016/05/10/a-closer-look-at-shielded-vms-in-windows-server-2016/) - -### PowerShell - -- [BitLocker cmdlets for Windows PowerShell](bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md#bitlocker-cmdlets-for-windows-powershell) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index cd33ef59b4..36223aee22 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -157,19 +157,6 @@ Users can verify whether the recovery key was saved properly by checking OneDriv Windows Explorer allows users to launch the **BitLocker Drive Encryption Wizard** by right-clicking a volume and selecting **Turn On BitLocker**. This option is available on client computers by default. On servers, the BitLocker feature and the Desktop-Experience feature must first be installed for this option to be available. After selecting **Turn on BitLocker**, the wizard works exactly as it does when launched using the BitLocker control panel. -## Down-level compatibility - -The following table shows the compatibility matrix for systems that have been BitLocker enabled and then presented to a different version of Windows. - -Table 1: Cross compatibility for Windows 11, Windows 10, Windows 8.1, Windows 8, and Windows 7 encrypted volumes - -|Encryption Type|Windows 11, Windows 10, and Windows 8.1|Windows 8|Windows 7| -|---|---|---|---| -|Fully encrypted on Windows 8|Presents as fully encrypted|N/A|Presented as fully encrypted| -|Used Disk Space Only encrypted on Windows 8|Presents as encrypt on write|N/A|Presented as fully encrypted| -|Fully encrypted volume from Windows 7|Presents as fully encrypted|Presented as fully encrypted|N/A| -|Partially encrypted volume from Windows 7|Windows 11, Windows 10, and Windows 8.1 will complete encryption regardless of policy|Windows 8 will complete encryption regardless of policy|N/A| - ## Encrypting volumes using the `manage-bde.exe` command-line interface `Manage-bde.exe` is a command-line utility that can be used for scripting BitLocker operations. `Manage-bde.exe` offers additional options not displayed in the BitLocker control panel. For a complete list of the options, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). @@ -246,112 +233,7 @@ manage-bde.exe -on C: ## Encrypting volumes using the BitLocker Windows PowerShell cmdlets -Windows PowerShell cmdlets provide an alternative way to work with BitLocker. Using Windows PowerShell's scripting capabilities, administrators can integrate BitLocker options into existing scripts with ease. The list below displays the available BitLocker cmdlets. -|Name|Parameters| -|--- |--- | -|**Add-BitLockerKeyProtector**|

  • ADAccountOrGroup
  • ADAccountOrGroupProtector
  • Confirm
  • MountPoint
  • Password
  • PasswordProtector
  • Pin
  • RecoveryKeyPath
  • RecoveryKeyProtector
  • RecoveryPassword
  • RecoveryPasswordProtector
  • Service
  • StartupKeyPath
  • StartupKeyProtector
  • TpmAndPinAndStartupKeyProtector
  • TpmAndPinProtector
  • TpmAndStartupKeyProtector
  • TpmProtector
  • WhatIf| -|**Backup-BitLockerKeyProtector**|
  • Confirm
  • KeyProtectorId
  • MountPoint
  • WhatIf| -|**Disable-BitLocker**|
  • Confirm
  • MountPoint
  • WhatIf| -|**Disable-BitLockerAutoUnlock**|
  • Confirm
  • MountPoint
  • WhatIf| -|**Enable-BitLocker**|
  • AdAccountOrGroup
  • AdAccountOrGroupProtector
  • Confirm
  • EncryptionMethod
  • HardwareEncryption
  • Password
  • PasswordProtector
  • Pin
  • RecoveryKeyPath
  • RecoveryKeyProtector
  • RecoveryPassword
  • RecoveryPasswordProtector
  • Service
  • SkipHardwareTest
  • StartupKeyPath
  • StartupKeyProtector
  • TpmAndPinAndStartupKeyProtector
  • TpmAndPinProtector
  • TpmAndStartupKeyProtector
  • TpmProtector
  • UsedSpaceOnly
  • WhatIf| -|**Enable-BitLockerAutoUnlock**|
  • Confirm
  • MountPoint
  • WhatIf| -|**Get-BitLockerVolume**|
  • MountPoint| -|**Lock-BitLocker**|
  • Confirm
  • ForceDismount
  • MountPoint
  • WhatIf| -|**Remove-BitLockerKeyProtector**|
  • Confirm
  • KeyProtectorId
  • MountPoint
  • WhatIf| -|**Resume-BitLocker**|
  • Confirm
  • MountPoint
  • WhatIf| -|**Suspend-BitLocker**|
  • Confirm
  • MountPoint
  • RebootCount
  • WhatIf| -|**Unlock-BitLocker**|
  • AdAccountOrGroup
  • Confirm
  • MountPoint
  • Password
  • RecoveryKeyPath
  • RecoveryPassword
  • RecoveryPassword
  • WhatIf| - -Similar to `manage-bde.exe`, the Windows PowerShell cmdlets allow configuration beyond the options offered in the control panel. As with `manage-bde.exe`, users need to consider the specific needs of the volume they're encrypting prior to running Windows PowerShell cmdlets. - -A good initial step is to determine the current state of the volume(s) on the computer. You can do this using the `Get-BitLocker` volume PowerShell cmdlet. The output from this cmdlet displays information on the volume type, protectors, protection status, and other useful information. - -Occasionally, all protectors may not be shown when using **Get-BitLockerVolume** due to lack of space in the output display. If all of the protectors for a volume aren't seen, the Windows PowerShell pipe command (`|`) can be used to format a listing of the protectors. - -> [!NOTE] -> In the event that there are more than four protectors for a volume, the pipe command may run out of display space. For volumes with more than four protectors, use the method described in the section below to generate a listing of all protectors with protector ID. - -```powershell -Get-BitLockerVolume C: | fl -``` - -If the existing protectors need to be removed prior to provisioning BitLocker on the volume, the `Remove-BitLockerKeyProtector` cmdlet can be used. Accomplishing this action requires the GUID associated with the protector to be removed. -A simple script can pipe out the values of each **Get-BitLockerVolume** return to another variable as seen below: - -```powershell -$vol = Get-BitLockerVolume -$keyprotectors = $vol.KeyProtector -``` - -Using this script, the information in the **$keyprotectors** variable can be displayed to determine the GUID for each protector. This information can then be used to remove the key protector for a specific volume using the command: - -```powershell -Remove-BitLockerKeyProtector : -KeyProtectorID "{GUID}" -``` - -> [!NOTE] -> The BitLocker cmdlet requires the key protector GUID (enclosed in quotation marks) to execute. Ensure the entire GUID, with braces, is included in the command. - -### Operating system volume PowerShell cmdlets - -Using the BitLocker Windows PowerShell cmdlets is similar to working with the `manage-bde.exe` tool for encrypting operating system volumes. Windows PowerShell offers users flexibility. For example, users can add the desired protector as part command for encrypting the volume. Below are examples of common user scenarios and steps to accomplish them using the BitLocker cmdlets for Windows PowerShell. - -To enable BitLocker with just the TPM protector, use this command: - -```powershell -Enable-BitLocker C: -``` - -The example below adds one additional protector, the StartupKey protectors, and chooses to skip the BitLocker hardware test. In this example, encryption starts immediately without the need for a reboot. - -```powershell -Enable-BitLocker C: -StartupKeyProtector -StartupKeyPath -SkipHardwareTest -``` - -### Data volume PowerShell cmdlets - -Data volume encryption using Windows PowerShell is the same as for operating system volumes. You should add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a SecureString value to store the user-defined password. Last, encryption begins. - -```powershell -$pw = Read-Host -AsSecureString - -Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw -``` - -### Using an SID-based protector in Windows PowerShell - -The **ADAccountOrGroup** protector is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding an SID-based protector for the Cluster Name Object (CNO) that lets the disk properly failover and unlock to any member computer of the cluster. - -> [!WARNING] -> The SID-based protector requires the use of an additional protector such as TPM, PIN, recovery key, etc. when used on operating system volumes. - -To add an **ADAccountOrGroup** protector to a volume, either the domain SID is needed or the group name preceded by the domain and a backslash. In the example below, the **CONTOSO\\Administrator** account is added as a protector to the data volume G. - -```powershell -Enable-BitLocker G: -AdAccountOrGroupProtector -AdAccountOrGroup CONTOSO\Administrator -``` - -For users who wish to use the SID for the account or group, the first step is to determine the SID associated with the account. To get the specific SID for a user account in Windows PowerShell, use the following command: - -```powershell -Get-ADUser -filter {samaccountname -eq "administrator"} -``` - -> [!NOTE] -> Use of this command requires the RSAT-AD-PowerShell feature. - -> [!TIP] -> In addition to the Windows PowerShell command above, information about the locally logged on user and group membership can be found using: `WHOAMI /ALL`. This doesn't require the use of additional features. - -In the example below, the user wishes to add a domain SID-based protector to the previously encrypted operating system volume. The user knows the SID for the user account or group they wish to add and uses the following command: - -```powershell -Add-BitLockerKeyProtector C: -ADAccountOrGroupProtector -ADAccountOrGroup "" -``` - -> [!NOTE] -> Active Directory-based protectors are normally used to unlock Failover Cluster-enabled volumes. ## Checking BitLocker status @@ -447,9 +329,44 @@ If a user didn't want to input each mount point individually, using the `-MountP Disable-BitLocker -MountPoint E:,F:,G: ``` -## Related articles +## PowerShell examples -- [Prepare your organization for BitLocker: Planning and policies](prepare-your-organization-for-bitlocker-planning-and-policies.md) -- [BitLocker recovery guide](bitlocker-recovery-guide-plan.md) -- [BitLocker: How to enable Network Unlock](network-unlock.md) -- [BitLocker overview](index.md) +For Azure AD-joined computers, including virtual machines, the recovery password should be stored in Azure AD. + +**Example**: *Use PowerShell to add a recovery password and back it up to Azure AD before enabling BitLocker* + +```powershell +Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector + +$BLV = Get-BitLockerVolume -MountPoint "C:" + +BackupToAAD-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId +``` + +For domain-joined computers, including servers, the recovery password should be stored in Active Directory Domain Services (AD DS). + +**Example**: *Use PowerShell to add a recovery password and back it up to AD DS before enabling BitLocker* + +```powershell +Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector + +$BLV = Get-BitLockerVolume -MountPoint "C:" + +Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId +``` + +PowerShell can then be used to enable BitLocker: + +**Example**: *Use PowerShell to enable BitLocker with a TPM protector* + +```powershell +Enable-BitLocker -MountPoint "D:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector +``` + +**Example**: *Use PowerShell to enable BitLocker with a TPM+PIN protector, in this case with a PIN set to 123456* + +```powershell +$SecureString = ConvertTo-SecureString "123456" -AsPlainText -Force + +Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pin $SecureString -TPMandPinProtector +``` \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md rename to windows/security/operating-system-security/data-protection/bitlocker/csv-san.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md similarity index 65% rename from windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md rename to windows/security/operating-system-security/data-protection/bitlocker/manage.md index 8073f52262..6f865c35b9 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -9,7 +9,7 @@ ms.date: 07/25/2023 # How to use the BitLocker drive encryption tools to manage BitLocker -BitLocker drive encryption tools include the command-line tools *manage-bde.exe*, *repair-bde.exe*, and the cmdlets for Windows PowerShell. +BitLocker drive encryption tools include the two command-line tools *manage-bde.exe* and *repair-bde.exe*, and the BitLocker PowerShell module. The tools can be used to perform any tasks that can be accomplished through the BitLocker control panel and are appropriate to use for automated deployments and other scripting scenarios. @@ -108,47 +108,56 @@ The following limitations exist for Repair-bde: For more information about using repair-bde, see [Repair-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829851(v=ws.11)). -## BitLocker cmdlets for Windows PowerShell +## BitLocker PowerShell module -Windows PowerShell cmdlets provide a new way for administrators to use when working with BitLocker. Using Windows PowerShell's scripting capabilities, administrators can integrate BitLocker options into existing scripts with ease. The list below displays the available BitLocker cmdlets. +The BitLocker PowerShell module enables administrators to integrate BitLocker options into existing scripts with ease. Here's a lists of the cmdlets included in the BitLocker PowerShell module: -|Name|Parameters| -|--- |--- | -|**Add-BitLockerKeyProtector**|
  • ADAccountOrGroup
  • ADAccountOrGroupProtector
  • Confirm
  • MountPoint
  • Password
  • PasswordProtector
  • Pin
  • RecoveryKeyPath
  • RecoveryKeyProtector
  • RecoveryPassword
  • RecoveryPasswordProtector
  • Service
  • StartupKeyPath
  • StartupKeyProtector
  • TpmAndPinAndStartupKeyProtector
  • TpmAndPinProtector
  • TpmAndStartupKeyProtector
  • TpmProtector
  • WhatIf| -|**Backup-BitLockerKeyProtector**|
  • Confirm
  • KeyProtectorId
  • MountPoint
  • WhatIf| -|**Disable-BitLocker**|
  • Confirm
  • MountPoint
  • WhatIf| -|**Disable-BitLockerAutoUnlock**|
  • Confirm
  • MountPoint
  • WhatIf| -|**Enable-BitLocker**|
  • AdAccountOrGroup
  • AdAccountOrGroupProtector
  • Confirm
  • EncryptionMethod
  • HardwareEncryption
  • Password
  • PasswordProtector
  • Pin
  • RecoveryKeyPath
  • RecoveryKeyProtector
  • RecoveryPassword
  • RecoveryPasswordProtector
  • Service
  • SkipHardwareTest
  • StartupKeyPath
  • StartupKeyProtector
  • TpmAndPinAndStartupKeyProtector
  • TpmAndPinProtector
  • TpmAndStartupKeyProtector
  • TpmProtector
  • UsedSpaceOnly
  • WhatIf| -|**Enable-BitLockerAutoUnlock**|
  • Confirm
  • MountPoint
  • WhatIf| -|**Get-BitLockerVolume**|
  • MountPoint| -|**Lock-BitLocker**|
  • Confirm
  • ForceDismount
  • MountPoint
  • WhatIf| -|**Remove-BitLockerKeyProtector**|
  • Confirm
  • KeyProtectorId
  • MountPoint
  • WhatIf| -|**Resume-BitLocker**|
  • Confirm
  • MountPoint
  • WhatIf| -|**Suspend-BitLocker**|
  • Confirm
  • MountPoint
  • RebootCount
  • WhatIf| -|**Unlock-BitLocker**|
  • AdAccountOrGroup
  • Confirm
  • MountPoint
  • Password
  • RecoveryKeyPath
  • RecoveryPassword
  • RecoveryPassword
  • WhatIf| +- `Add-BitLockerKeyProtector` +- `Backup-BitLockerKeyProtector` +- `BackupToAAD-BitLockerKeyProtector` +- `Clear-BitLockerAutoUnlock` +- `Disable-BitLocker` +- `Disable-BitLockerAutoUnlock` +- `Enable-BitLocker` +- `Enable-BitLockerAutoUnlock` +- `Get-BitLockerVolume` +- `Lock-BitLocker` +- `Remove-BitLockerKeyProtector` +- `Resume-BitLocker` +- `Suspend-BitLocker` +- `Unlock-BitLocker` -Similar to manage-bde, the Windows PowerShell cmdlets allow configuration beyond the options offered in the control panel. As with manage-bde, users need to consider the specific needs of the volume they're encrypting prior to running Windows PowerShell cmdlets. +Similar to manage-bde, the PowerShell cmdlets allow configuration beyond the options offered in the control panel. A good initial step is to determine the current state of the volume(s) on the computer. For example, to determine the current state of a volume you can use the `Get-BitLockerVolume` cmdlet, which provides information on the volume type, protectors, protection status, and other details. -A good initial step is to determine the current state of the volume(s) on the computer. Determining the current state of the volume(s) can be done using the `Get-BitLockerVolume` cmdlet. +```powershell +PS C:\> Get-BitLockerVolume C: | fl -The `Get-BitLockerVolume` cmdlet output gives information on the volume type, protectors, protection status, and other details. - -> [!TIP] -> Occasionally, all protectors may not be shown when using `Get-BitLockerVolume` due to lack of space in the output display. If all of the protectors for a volume are not seen, use the Windows PowerShell pipe command (|) to format a full listing of the protectors: -> -> `Get-BitLockerVolume C: | fl` +ComputerName : DESKTOP +MountPoint : C: +EncryptionMethod : XtsAes128 +AutoUnlockEnabled : +AutoUnlockKeyStored : False +MetadataVersion : 2 +VolumeStatus : FullyEncrypted +ProtectionStatus : On +LockStatus : Unlocked +EncryptionPercentage : 100 +WipePercentage : 0 +VolumeType : OperatingSystem +CapacityGB : 1000 +KeyProtector : {Tpm, RecoveryPassword} +``` To remove the existing protectors prior to provisioning BitLocker on the volume, use the `Remove-BitLockerKeyProtector` cmdlet. Running this cmdlet requires the GUID associated with the protector to be removed. -A simple script can pipe the values of each Get-BitLockerVolume return out to another variable as seen below: +The following commands return the list of key protectors and GUIDS: -```powershell +```PowerShell $vol = Get-BitLockerVolume $keyprotectors = $vol.KeyProtector +$keyprotectors ``` -By using this script, the information in the $keyprotectors variable can be displayed to determine the GUID for each protector. - By using this information, the key protector for a specific volume can be removed using the command: ```powershell @@ -185,14 +194,14 @@ $pw = Read-Host -AsSecureString Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw ``` -### Using an AD Account or Group protector in Windows PowerShell +### Using an SID-based protector in Windows PowerShell -The **ADAccountOrGroup** protector, introduced in Windows 8 and Windows Server 2012, is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding a SID-based protector for the Cluster Name Object (CNO) that lets the disk properly fail over to and become unlocked by any member computer of the cluster. +The **ADAccountOrGroup** protector is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding an SID-based protector for the Cluster Name Object (CNO) that lets the disk properly failover and unlock to any member computer of the cluster. > [!WARNING] -> The **ADAccountOrGroup** protector requires the use of an additional protector for use (such as TPM, PIN, or recovery key) when used on operating system volumes +> The SID-based protector requires the use of an additional protector such as TPM, PIN, recovery key, etc. when used on operating system volumes. -To add an **ADAccountOrGroup** protector to a volume, use either the actual domain SID or the group name preceded by the domain and a backslash. In the example below, the CONTOSO\\Administrator account is added as a protector to the data volume G. +To add an **ADAccountOrGroup** protector to a volume, either the domain SID is needed or the group name preceded by the domain and a backslash. In the example below, the **CONTOSO\\Administrator** account is added as a protector to the data volume G. ```powershell Enable-BitLocker G: -AdAccountOrGroupProtector -AdAccountOrGroup CONTOSO\Administrator @@ -200,29 +209,21 @@ Enable-BitLocker G: -AdAccountOrGroupProtector -AdAccountOrGroup CONTOSO\Adminis For users who wish to use the SID for the account or group, the first step is to determine the SID associated with the account. To get the specific SID for a user account in Windows PowerShell, use the following command: +```powershell +Get-ADUser -filter {samaccountname -eq "administrator"} +``` + > [!NOTE] > Use of this command requires the RSAT-AD-PowerShell feature. -```powershell -get-aduser -filter {samaccountname -eq "administrator"} -``` - > [!TIP] -> In addition to the PowerShell command above, information about the locally logged on user and group membership can be found using: WHOAMI /ALL. This doesn't require the use of additional features. +> In addition to the Windows PowerShell command above, information about the locally logged on user and group membership can be found using: `WHOAMI /ALL`. This doesn't require the use of additional features. -The following example adds an **ADAccountOrGroup** protector to the previously encrypted operating system volume using the SID of the account: +In the example below, the user wishes to add a domain SID-based protector to the previously encrypted operating system volume. The user knows the SID for the user account or group they wish to add and uses the following command: ```powershell -Add-BitLockerKeyProtector C: -ADAccountOrGroupProtector -ADAccountOrGroup S-1-5-21-3651336348-8937238915-291003330-500 +Add-BitLockerKeyProtector C: -ADAccountOrGroupProtector -ADAccountOrGroup "" ``` > [!NOTE] -> Active Directory-based protectors are normally used to unlock Failover Cluster enabled volumes. - -## Related articles - -- [BitLocker overview](index.md) -- [BitLocker frequently asked questions (FAQ)](faq.yml) -- [Prepare your organization for BitLocker: Planning and policies](prepare-your-organization-for-bitlocker-planning-and-policies.md) -- [BitLocker: How to enable Network Unlock](network-unlock.md) -- [BitLocker: How to deploy on Windows Server 2012](bitlocker-how-to-deploy-on-windows-server.md) +> Active Directory-based protectors are normally used to unlock Failover Cluster-enabled volumes. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index cb5af928c0..f5c3fca696 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -20,11 +20,11 @@ items: - name: Configure BitLocker on Windows Server href: bitlocker-how-to-deploy-on-windows-server.md - name: Manage BitLocker with Drive Encryption Tools - href: bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md + href: manage.md - name: BitLocker Recovery Guide href: bitlocker-recovery-guide-plan.md - name: Protect cluster shared volumes and storage area networks with BitLocker - href: protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md + href: csv-san.md - name: Network Unlock href: network-unlock.md - name: BitLocker Recovery Password Viewer From 5629f3c98411af347c2ea06347f8fd771f816a39 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 3 Oct 2023 09:35:45 -0400 Subject: [PATCH 066/505] tabbed xp --- .../data-protection/bitlocker/configure.md | 38 ------ .../data-protection/bitlocker/images/cmd.png | Bin 0 -> 626 bytes .../bitlocker/images/manage-bde-status.png | Bin 18409 -> 0 bytes .../bitlocker/images/powershell.png | Bin 0 -> 1166 bytes .../data-protection/bitlocker/manage.md | 117 +++++++++++------- 5 files changed, 74 insertions(+), 81 deletions(-) create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/cmd.png delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/manage-bde-status.png create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/powershell.png diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 36223aee22..5c03db8446 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -37,15 +37,6 @@ For the operating system volume the **BitLocker Drive Encryption Wizard** presen 1. When the **BitLocker Drive Encryption Wizard** first launches, it verifies the computer meets the BitLocker system requirements for encrypting an operating system volume. By default, the system requirements are: - |Requirement|Description| - |--- |--- | - |Hardware configuration|The computer must meet the minimum requirements for the supported Windows versions.| - |Operating system|BitLocker is an optional feature that can be installed by Server Manager on Windows Server 2012 and later.| - |Hardware TPM|TPM version 1.2 or 2.0.

    A TPM isn't required for BitLocker; however, only a computer with a TPM can provide the additional security of pre-startup system integrity verification and multifactor authentication.| - |UEFI firmware/BIOS configuration|
    • A Trusted Computing Group (TCG)-compliant BIOS or UEFI firmware.
    • The boot order must be set to start first from the hard disk, and not the USB or CD drives.
    • The firmware must be able to read from a USB flash drive during startup.
    | - |File system| One FAT32 partition for the system drive and one NTFS partition for the operating system drive. This requirement is applicable for computers that boot natively with UEFI firmware.
    For computers with legacy BIOS firmware, at least two NTFS disk partitions, one for the system drive and one for the operating system drive.
    For either firmware, the system drive partition must be at least 350 megabytes (MB) and set as the active partition.| - |Hardware encrypted drive prerequisites (optional)|To use a hardware encrypted drive as the boot drive, the drive must be in the uninitialized state and in the security inactive state. In addition, the system must always boot with native UEFI version 2.3.1 or higher and the CSM (if any) disabled.| - If the volume doesn't pass the initial configuration for BitLocker, the user is presented with an error dialog describing the appropriate actions to be taken. 2. Upon passing the initial configuration, users may be prompted to enter a password for the volume, for example, if a TPM isn't available. If a TPM is available, the password screen will be skipped. @@ -231,10 +222,6 @@ manage-bde.exe -protectors -add -pw C: manage-bde.exe -on C: ``` -## Encrypting volumes using the BitLocker Windows PowerShell cmdlets - - - ## Checking BitLocker status To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLocker control panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. We'll look at each of the available methods in the following section. @@ -257,31 +244,6 @@ The drive security window displays prior to changing the volume status. Selectin Once BitLocker protector activation is completed, the completion notice is displayed. -### Checking BitLocker status with `manage-bde.exe` - -Administrators who prefer a command-line interface can utilize `manage-bde.exe` to check volume status. Manage-bde is capable of returning more information about the volume than the graphical user interface tools in the control panel. For example, `manage-bde.exe` can display the BitLocker version in use, the encryption type, and the protectors associated with a volume. - -To check the status of a volume using `manage-bde.exe`, use the following command: - -```powershell -manage-bde.exe -status -``` - -> [!NOTE] -> If no volume letter is associated with the -status command, all volumes on the computer display their status. - -### Checking BitLocker status with Windows PowerShell - -Windows PowerShell commands offer another way to query BitLocker status for volumes. Like `manage-bde.exe`, Windows PowerShell includes the advantage of being able to check the status of a volume on a remote computer. - -Using the Get-BitLockerVolume cmdlet, each volume on the system displays its current BitLocker status. To get information that is more detailed on a specific volume, use the following command: - -```powershell -Get-BitLockerVolume -Verbose | fl -``` - -This command displays information about the encryption method, volume type, key protectors, and more. - ### Provisioning BitLocker during operating system deployment Administrators can enable BitLocker prior to operating system deployment from the Windows Pre-installation environment. Enabling BitLocker prior to the operating system deployment is done with a randomly generated clear key protector applied to the formatted volume and by encrypting the volume prior to running the Windows setup process. If the encryption uses the **Used Disk Space Only** option described later in this document, this step takes only a few seconds and incorporates well into regular deployment processes. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.png b/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.png new file mode 100644 index 0000000000000000000000000000000000000000..55fd5b43ff09f8c5755346bdb48d00f8c4efe638 GIT binary patch literal 626 zcmV-&0*(ENP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L0tZP%K~z{r?Uzey z8c`UAhbR#VK|ygL2;LAuMG!?45kyo()W6Yv$Rbbz=AxZwu~MrkO@2?CcwZ$ev&&zw ztGqp*H)eDaBsdzVFFZINzcb%6!$HpBcG-IPO6_yu;tMv(MX_99t@jywT!}BgJPw~R zcz9wA*UG1pn&c-*u;zxbM78!~)a?&2r#C=Hl0G`!KH777XmuvgIL+(!Sq-bB-)a25 z-Njw2gFp9e{Jv|=nF`n#2VC>|c9hTOLF95dWV2ahG8v@PX{1sqBoYb4<8j1dF+`(L zL?RJ{!(jx2LHPZC_B%UN>NPnT{paDhf5=AWUks`$P5=M^ M07*qoM6N<$g71X|O8@`> literal 0 HcmV?d00001 diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/manage-bde-status.png b/windows/security/operating-system-security/data-protection/bitlocker/images/manage-bde-status.png deleted file mode 100644 index 321b1fa0526133725f877fe4398d319ffa3ad04e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18409 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%0A&WLOm_$NZ^`+ZqxlJbguu&zmr)v z??kgpwAak?boa~`DzX%Vcob)AYNM`+62t&LHK=01q5D&e7W2yv7%JLdc~2ANZeYo2 zW=fM*HWAP~#?slAG7aT$!l{nMUxT#4velh@L4?{fF7I5c4oSV)+jmJbfC;=2bV82l zSzj+}CANPd@`P-LOV{QI)U1v(XPLp&QF`RxxY?R_GWk0^o3=8Zk{Y8{KdU?o;I5lV zO;)lB)linRllsFZGP@e8hi=Nv%gGW&NBp6KrbFA(_#vdleyB7Z&pR#3?j9@VPV%UZ zU^=;v(%}IqX^^mUl)H67lR?{M zBMyhsaGaauXBMY+{es|vnhd}2a?n7ntRJUv4Ia1CVZ;R#r^EBmnjEg_$!q7j;Q6#m z5Izf!v0?UxF-ASD|Fx8E3~70n@RSoNnp@Rw9mzldJKB|Q{!GOuMb)3JQAy8l><2L{Uxc&66EbISOYWDwOP*eTu{c!Y1qk#CC!yU}MGfl{sB_2RJK3nQuTDf`q9_UI?CfO(Hd)zu5uBH@=1QE&*p_}!MAM9+d^z4;5-3)1Y z-K>hxGt5}JVV4peo*UWFuO1I=I;bGNm1;#^gnZ_9u;%x0h|S~jm!pn^=$|w&Fo!JL zPdd1jyUL6%3W~VI?TA0Y6uo?JSwjF?Zz{|un6E@qodzhemINP(tZI{boU$o&t50X$dlU9aI9=qs zrI`(WS{Pmc`Lx)yXVCM%exomv*I@|Jxs2Bwn0EL!s#)sidy(fK<0Sj^rBTdxU?ynv z=h=~ivo6yhT!)lmz+_%|tw*g%+6veC_<;jH-5x`!XXoP3gR1|4DnB}R+XNLE`$|un zYHlj|`87VX#td>0l^ycte*MFK|?57WiUs*f^G)|_Vp zR?pAPP;Fd+VoF+Ks^qlfF7KR8+kmM7j^BQo+#f&tX3j=T9q`ufi2em@K+>s=QV?si zI+%T^UD zER_7u9kTJ;v5jh$s&|LOcN>w?>KlJlQf`<$@mf2Vf0l4Y6gFsgpk`+PFv#G6p4tW+ ze|u>#w6c#L#>!b?t9yF7=Q8w9#%9tS=dH>UyPB$l=@kvbd44px$8)e4$QC@H&G3=s z^9cR&sg&JeXP(8Kl_O~=qdjWVyM&ra#MO0I2VKw*73=

    c6osWl_oPMpOc?FT&EB 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 V>$!jWi+X@0JYD@<);T3K0RV2|+AIJ7 diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.png b/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.png new file mode 100644 index 0000000000000000000000000000000000000000..9c014536ca6010831843495edef8e4f97848b6fb GIT binary patch literal 1166 zcmV;91abR`P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L1S3gAK~z{r?Uq?j zQ&AAd`3QUz9!xYou!FKmm0oQYdO4FXO%npb;*oq;q zYmSrpYcF1VAv%8m;tIwr0%=reMw=($;vbN)g`2iONq4vji^u z_QLx{{{X46YrzOF(8C8II`1p)zTX^vjKlfy_Tf670D;wn36v3(!xs@g4;IG^gG)6! z=U0Z)dFOsc_(xNC*wNSQs07j|{L-a|Z+Fb%x&MNDZ3_a=)!>}P(k}x)Dd9a3dHg-X z-$Hn{6T&m!AiNzyGhR^zn*>r*U~02JW$X)&FP(z;;z=z3yufpnR#U^7z;jLDSrXpH zs(@>%4H%T#VxiI~@RCW)*n?%CU_00AT+PHk!9$O?Xe9TLxto22rkF1 zq0`tCj=N)`=@5Rx1fHqELk_=SRl{-i7g$XpM_x9`Szit=XWiL9C-7Wn@3^&&N4Oj} z20yC7gVUc;1G@y$D9U)PMw3`H0KFr|o=7@RJJ)7ic6?}t2B#~Ib(uhF3Q2z+KDk``%hlN03xUZuvBXbTgyWR4eiBHduyig3 zt}~j%;z4-UZR~#9bx~OhY)rbN7>yT>Nl7@mESIh;2g!4F+?gWIzx zuw31)QAo_Hf*|W-(^>bz@p}oU#PAuT8W5JuLgiJ)Eq@3qn};jctfqt<4wiw>6LSM1 z2h+pJXs*?L7s~)|wB#D$a+=Xh%`Ayum@CFw<%Lrt;_g)g!ZTzBWM(uem)apNqZR_K zk2qZSMnmJa+ui}mg%2_6c@#WgkyKCzyK-t_Q!?Hw5}@B>0(%5j6PD8&oi|{Zb@_B# z>5XQkS(i|Kh}S&TfN)_OmE0GuzR}>*?LXlZ_+ax0q)`a45R5WhJ}{v*2L0Ceelj=H g@~>-Metv#`0Xj%0MHZA9bpQYW07*qoM6N<$f;USN7XSbN literal 0 HcmV?d00001 diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md index 6f865c35b9..589ee40f59 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -13,6 +13,79 @@ BitLocker drive encryption tools include the two command-line tools *manage-bde. The tools can be used to perform any tasks that can be accomplished through the BitLocker control panel and are appropriate to use for automated deployments and other scripting scenarios. + +Follow the instructions below to configure your devices, selecting the option that best suits your needs. + +#### [:::image type="icon" source="images/powershell.png"::: **Intune**](#tab/powershell) + +Similar to manage-bde, the PowerShell cmdlets allow configuration beyond the options offered in the control panel. A good initial step is to determine the current state of the volume(s) on the computer. For example, to determine the current state of a volume you can use the `Get-BitLockerVolume` cmdlet, which provides information on the volume type, protectors, protection status, and other details. + +```powershell +PS C:\> Get-BitLockerVolume C: | fl + +ComputerName : DESKTOP +MountPoint : C: +EncryptionMethod : XtsAes128 +AutoUnlockEnabled : +AutoUnlockKeyStored : False +MetadataVersion : 2 +VolumeStatus : FullyEncrypted +ProtectionStatus : On +LockStatus : Unlocked +EncryptionPercentage : 100 +WipePercentage : 0 +VolumeType : OperatingSystem +CapacityGB : 1000 +KeyProtector : {Tpm, RecoveryPassword} +``` + +To remove the existing protectors prior to provisioning BitLocker on the volume, use the `Remove-BitLockerKeyProtector` cmdlet. Running this cmdlet requires the GUID associated with the protector to be removed. + +The following commands return the list of key protectors and GUIDS: + +```PowerShell +$vol = Get-BitLockerVolume +$keyprotectors = $vol.KeyProtector +$keyprotectors +``` + +By using this information, the key protector for a specific volume can be removed using the command: + +```powershell +Remove-BitLockerKeyProtector : -KeyProtectorID "{GUID}" +``` + +> [!NOTE] +> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. + +#### [:::image type="icon" source="images/cmd.png"::: **Intune**](#tab/cmd) + +```cmd +C:\>manage-bde -status + +Volume C: [Local Disk] +[OS Volume] + + Size: 1000 GB + BitLocker Version: 2.0 + Conversion Status: Used Space Only Encrypted + Percentage Encrypted: 100.0% + Encryption Method: XTS-AES 128 + Protection Status: Protection On + Lock Status: Unlocked + Identification Field: Unknown + Key Protectors: + TPM + Numerical Password +``` + + +#### [:::image type="icon" source="images/locked-drive.svg"::: **Intune**](#tab/controlpanel) + +--- + + + ## Manage-bde Manage-bde is a command-line tool that can be used for scripting BitLocker operations. Manage-bde offers additional options not displayed in the BitLocker control panel. For a complete list of the `manage-bde.exe` options, see the [Manage-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) command-line reference. @@ -25,13 +98,9 @@ Listed below are examples of basic valid commands for operating system volumes. A good practice when using `manage-bde.exe` is to determine the volume status on the target system. Use the following command to determine volume status: -```cmd -manage-bde.exe -status -``` -This command returns the volumes on the target, current encryption status, encryption method, and volume type (operating system or data) for each volume: -![Using manage-bde to check encryption status.](images/manage-bde-status.png) +This command returns the volumes on the target, current encryption status, encryption method, and volume type (operating system or data) for each volume. The following example illustrates enabling BitLocker on a computer without a TPM chip. Before beginning the encryption process, the startup key needed for BitLocker must be created and saved to a USB drive. When BitLocker is enabled for the operating system volume, BitLocker will need to access the USB flash drive to obtain the encryption key. In this example, the drive letter E represents the USB drive. Once the commands are run, it will prompt to reboot the computer to complete the encryption process. @@ -127,45 +196,7 @@ The BitLocker PowerShell module enables administrators to integrate BitLocker op - `Suspend-BitLocker` - `Unlock-BitLocker` -Similar to manage-bde, the PowerShell cmdlets allow configuration beyond the options offered in the control panel. A good initial step is to determine the current state of the volume(s) on the computer. For example, to determine the current state of a volume you can use the `Get-BitLockerVolume` cmdlet, which provides information on the volume type, protectors, protection status, and other details. -```powershell -PS C:\> Get-BitLockerVolume C: | fl - -ComputerName : DESKTOP -MountPoint : C: -EncryptionMethod : XtsAes128 -AutoUnlockEnabled : -AutoUnlockKeyStored : False -MetadataVersion : 2 -VolumeStatus : FullyEncrypted -ProtectionStatus : On -LockStatus : Unlocked -EncryptionPercentage : 100 -WipePercentage : 0 -VolumeType : OperatingSystem -CapacityGB : 1000 -KeyProtector : {Tpm, RecoveryPassword} -``` - -To remove the existing protectors prior to provisioning BitLocker on the volume, use the `Remove-BitLockerKeyProtector` cmdlet. Running this cmdlet requires the GUID associated with the protector to be removed. - -The following commands return the list of key protectors and GUIDS: - -```PowerShell -$vol = Get-BitLockerVolume -$keyprotectors = $vol.KeyProtector -$keyprotectors -``` - -By using this information, the key protector for a specific volume can be removed using the command: - -```powershell -Remove-BitLockerKeyProtector : -KeyProtectorID "{GUID}" -``` - -> [!NOTE] -> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. ### Using the BitLocker Windows PowerShell cmdlets with operating system volumes From d5f55fe3d472a8181b4ad364fc84e1169ee5aa38 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 3 Oct 2023 09:47:33 -0400 Subject: [PATCH 067/505] tabbed xp --- .../data-protection/bitlocker/images/cmd.png | Bin 626 -> 213 bytes .../bitlocker/images/powershell.png | Bin 1166 -> 670 bytes .../data-protection/bitlocker/manage.md | 50 ++++++++++-------- 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.png b/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.png index 55fd5b43ff09f8c5755346bdb48d00f8c4efe638..c410cfa5d4e364e91fed070c64ed2f5be7520405 100644 GIT binary patch delta 171 zcmeywa+OiBGr-TCmrII^fq{Y7)59eQNDF{42OE%-|NK93qM}JXLzbtDV~B-+vP8uN z`^;bUUIsTBPMgaM9Fd$VY?!fwarwD9s@#Wp8Gg0s_|!5dFhmOa$i(ur1oAk9u_Q0P z{6bbP0l)%^o0J}akdH?_b delta 587 zcmV-R0<`_r0rCVPiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPne*y-Jd~_ z$tc2`5K?2SAQJfYy&)11e=b6LeZq;0P=wcSML16+!2StE0)aqaY0<13Nr7ZC34_6~ zR4fNe0<^jpSE`(d1WNo@C=`mNA~_KWOuuZDoxo0DC-AWZXpeqcxE#^odpIv%p~zRj zSE?voRdHD=<4mGX$kFjhoi(5AidpD@Kzno=AgfJ4y(Z@Zmc8i(A=w;m2$C;z@!)kPt{1R7gAvn5r8{5sf1|m|0Q5WAy$u!5bQUewBVs z5WEOe?>xb?sC2!8*^^Xsfrob6U=9ub5}cs|@ zH2Aazmph-(XlvU1^uo>|f2*v)*P=NA^6=e!guTbY1S%qpr>0TijH9e0#@pBCuXMc( z&}E>>zk&FCQGj#H860+v!7(z8(1Q$ulW7E_Yq%9j;^-iCK|-{0eg3`$h41=KEHB{O z_Y{=3jnS&!2>9=igO5QB7cd9`au)46jh4$P9C1gm-!b{yDAXO=O@?A<9f+dU8$nag zIQF#M-JPEYZ6Hi*B71U+CWJ-Jo)u>CtTOtM+m(@-C^P!G&Zv5`j{ozJq+h05;)eS{ R9*F<|002ovPDHLkV1mOOGI9U_ delta 1131 zcmV-x1eE)p1&#?JiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPne*_~* zL_t(oN9~qbPg7A4$N30+6dp`8KCpwbNtIyqO-;Z=1&Sh|h!(7@)-5LL6NsV-AqplY zh!DVCM3AC_3lwFmELH^Bb(}d%@4Y>jMW6X6lUr!-`OTR#^S{?`UF$MaU`o@Tu*?pK zI_2_-KG=#OuWOEz`fD#{(F837v1h(PjC}-RP7krgqikPT(gfR*`w6z3_yCbP-4Jo?9Ykbz z;pZNRD;&28q$b>b0Ntp-&&@%41ty?_Z!7vviy(XyV(o5(4|90lGVtRZe;%II$^ORs ztpclw%1;Zk1TOsc!uv-50I9KS!3ZzV!v`Tc?r*U~02JW$X)&FP(z;;z=z3yufpn zR#U^7z;jLDSrXpHs(@>%4H%T#VxiI~@RCW)*n?%CU_00AT+PHk!9$O z?Xe9TLxto22rkF1q0`tCj=N)`=@5Rx1fHqELk_=SRl{-i7g$Xpe@9+6$yr|xE@$1@ zKPT{9XYaVRjz_p0HwHhd!GqJEQ3JaK(kRM!twxhrGyuIL#-2zzPdnFUU3PqEh6blA zj&+$pY6?kz9zf@~y3q`Jji$b1N}#!}RJWPHUjbGYaD522K4C|KW3CzyW@e>bDsYoo zKX`Rm+5OMyIfzQTe{BvwOz@|GJ;s_9r%W{toYd_rmde38%#He;K115SGkB|@7B(NKW3#^h z;wPwh=!Wa{BN)R_{$L1W5X$QYz z0(%5j6PD8&oi|{Zb@_B#>5XQkS(i|Kh}S&TfN)_OL6zJWuD;RW)9pXu6!>8C2&7R6 xun>$gTs|: -KeyProtectorID "{GUID}" > [!NOTE] > The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. -#### [:::image type="icon" source="images/cmd.png"::: **Intune**](#tab/cmd) +#### [:::image type="icon" source="images/cmd.png"::: **cmd**](#tab/cmd) ```cmd C:\>manage-bde -status @@ -79,13 +79,10 @@ Volume C: [Local Disk] Numerical Password ``` - -#### [:::image type="icon" source="images/locked-drive.svg"::: **Intune**](#tab/controlpanel) +#### [:::image type="icon" source="images/locked-drive.svg"::: **Settings**](#tab/controlpanel) --- - - ## Manage-bde Manage-bde is a command-line tool that can be used for scripting BitLocker operations. Manage-bde offers additional options not displayed in the BitLocker control panel. For a complete list of the `manage-bde.exe` options, see the [Manage-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) command-line reference. @@ -132,7 +129,25 @@ The above command encrypts the drive using the TPM as the default protector. If manage-bde.exe -protectors -get ``` -### Using manage-bde with data volumes +## Manage data volumes + +Follow the instructions below to configure your devices, selecting the option that best suits your needs. + +#### [:::image type="icon" source="images/powershell.png"::: **PowerShell**](#tab/powershell) + +Data volume encryption using Windows PowerShell is the same as for operating system volumes. Add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a +SecureString value to store the user-defined password. + +```powershell +$pw = Read-Host -AsSecureString + +Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw +``` + +> [!NOTE] +> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. + +#### [:::image type="icon" source="images/cmd.png"::: **cmd**](#tab/cmd) Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: @@ -147,6 +162,10 @@ manage-bde.exe -protectors -add -pw C: manage-bde.exe -on C: ``` +#### [:::image type="icon" source="images/locked-drive.svg"::: **Settings**](#tab/controlpanel) + +--- + ## BitLocker Repair Tool Hard disk areas on which BitLocker stores critical information could be damaged, for example, when a hard disk fails or if Windows exits unexpectedly. @@ -214,17 +233,6 @@ In the example below, adds one additional protector, the StartupKey protector an Enable-BitLocker C: -StartupKeyProtector -StartupKeyPath -SkipHardwareTest ``` -### Using the BitLocker Windows PowerShell cmdlets with data volumes - -Data volume encryption using Windows PowerShell is the same as for operating system volumes. Add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a -SecureString value to store the user-defined password. - -```powershell -$pw = Read-Host -AsSecureString - -Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw -``` - ### Using an SID-based protector in Windows PowerShell The **ADAccountOrGroup** protector is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding an SID-based protector for the Cluster Name Object (CNO) that lets the disk properly failover and unlock to any member computer of the cluster. From 5b33c86772f4f8e904427079e2980cae04a4e2d3 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 3 Oct 2023 15:07:36 -0400 Subject: [PATCH 068/505] tabs --- .../data-protection/bitlocker/manage.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md index 32556403ff..a833306f4e 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -132,8 +132,9 @@ The above command encrypts the drive using the TPM as the default protector. If ## Manage data volumes Follow the instructions below to configure your devices, selecting the option that best suits your needs. - -#### [:::image type="icon" source="images/powershell.png"::: **PowerShell**](#tab/powershell) + +#### [PowerShell](#tab/powershell) Data volume encryption using Windows PowerShell is the same as for operating system volumes. Add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a SecureString value to store the user-defined password. @@ -146,8 +147,9 @@ Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw > [!NOTE] > The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. - -#### [:::image type="icon" source="images/cmd.png"::: **cmd**](#tab/cmd) + +#### [Command prompt](#tab/cmd) Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: @@ -161,9 +163,9 @@ A common protector for a data volume is the password protector. In the example b manage-bde.exe -protectors -add -pw C: manage-bde.exe -on C: ``` - -#### [:::image type="icon" source="images/locked-drive.svg"::: **Settings**](#tab/controlpanel) - + +#### [Control panel](#tab/controlpanel) --- ## BitLocker Repair Tool From e0c702e7ec6084e8162225715e18fa8358725849 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 3 Oct 2023 16:20:11 -0400 Subject: [PATCH 069/505] tabs --- .../data-protection/bitlocker/images/cmd.png | Bin 213 -> 0 bytes .../data-protection/bitlocker/images/cmd.svg | 9 +++++++++ .../bitlocker/images/controlpanel.svg | 9 +++++++++ .../bitlocker/images/powershell.png | Bin 670 -> 0 bytes .../bitlocker/images/powershell.svg | 9 +++++++++ .../data-protection/bitlocker/manage.md | 14 ++++++-------- 6 files changed, 33 insertions(+), 8 deletions(-) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/cmd.png create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/cmd.svg create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/controlpanel.svg delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/powershell.png create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/powershell.svg diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.png b/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.png deleted file mode 100644 index c410cfa5d4e364e91fed070c64ed2f5be7520405..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85qP=L734qNaX`iFw4`$F~q_@S)$^Cede!vFM}Hmr_JRBjz~@w zHq6+;xcuB4Rqn&Q48K}*d}^5!7$OCIWMX+*0(l(5SdtfCej%}(@r4B2g`=Hij8@WZ zfjkU}5)NT4I_!%b8IBw?XbADKW!5<8(5%78!^1E)d)e%1PP00Jwla9S`njxgN@xNA DhIc%X diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.svg new file mode 100644 index 0000000000..3886a55c78 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/controlpanel.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/controlpanel.svg new file mode 100644 index 0000000000..ad247b92d5 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/controlpanel.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.png b/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.png deleted file mode 100644 index 11738f23f70dcfbe4c401e0afee1f03c0da4353e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmV;P0%84$P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGqB>(^xB>_oNB=7(L0y9ZOK~y+T&652~ zQ(+Xx@1L-LCL)5=WllHUrV7nx$*GweWsB&vP#s{R4I2@Ni!~-*e7$zS92_2ijTlp))g#XI1xGR@E~{ z`Hq=--!oI+0;@jzfpUq}xR+VYxsS};|A|>Hq{2EbNdzd3qblSH6~6JGuwVKPo4kd( zfh=k-uEXLI10DV;K!y0V$eL<}^gRW3kjKW2XozFlQ ztHUo~JUJygs`vjeQ1v*?pMY)X8^K>u=lzWK>sc(OOG033Hi>=5Cp7r92A4aZ&}eJg z{Pe=kA*-yx*P=NA^6=e!guTbY1S%qpr>0TijH9e0#@pBCuXMc(&}E>>zk&FCQGj#H z860+v!7(z8(1Q$ulW7E_Yq%9j;^-iCK|-{0eg3`$h41=KEHB{O_Y{=3jnS&!2>9=i zgO5QB7cd9`au)46jh4$P9C1gm-!b{yDAXO=hGJ+Ph@#aSK~v8-_O#sHou3D7AWUl_ zdvc2=ghkDs6=w0QGWwC*m64e!Gy1vCsCu)G|MQTfU#42(hWkMti2wiq07*qoM6N<$ Eg736BQUCw| diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.svg new file mode 100644 index 0000000000..5dcad75bbf --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md index a833306f4e..ae3998fcca 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -58,7 +58,7 @@ Remove-BitLockerKeyProtector : -KeyProtectorID "{GUID}" > [!NOTE] > The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. -#### [:::image type="icon" source="images/cmd.png"::: **cmd**](#tab/cmd) +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) ```cmd C:\>manage-bde -status @@ -79,7 +79,7 @@ Volume C: [Local Disk] Numerical Password ``` -#### [:::image type="icon" source="images/locked-drive.svg"::: **Settings**](#tab/controlpanel) +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) --- @@ -147,9 +147,8 @@ Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw > [!NOTE] > The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. - -#### [Command prompt](#tab/cmd) + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: @@ -163,9 +162,8 @@ A common protector for a data volume is the password protector. In the example b manage-bde.exe -protectors -add -pw C: manage-bde.exe -on C: ``` - -#### [Control panel](#tab/controlpanel) +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + --- ## BitLocker Repair Tool From 246fcaf2ea6e0abc8efa54e1f80d4a7efe120797 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 3 Oct 2023 16:37:17 -0400 Subject: [PATCH 070/505] tabs --- .../data-protection/bitlocker/configure.md | 37 ------------- .../data-protection/bitlocker/images/cmd.svg | 8 +-- .../bitlocker/images/controlpanel.svg | 8 +-- .../bitlocker/images/powershell.svg | 8 +-- .../data-protection/bitlocker/manage.md | 55 +++++++++++++++++-- 5 files changed, 63 insertions(+), 53 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 5c03db8446..d5356e1621 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -252,44 +252,7 @@ Administrators can enable BitLocker prior to operating system deployment from th Decrypting volumes removes BitLocker and any associated protectors from the volumes. Decryption should occur when protection is no longer required. BitLocker decryption shouldn't occur as a troubleshooting step. BitLocker can be removed from a volume using the BitLocker control panel applet, `manage-bde.exe`, or Windows PowerShell cmdlets. We'll discuss each method further below. -### Decrypting volumes using the BitLocker control panel applet -BitLocker decryption using the control panel is done using a wizard. The control panel can be called from Windows Explorer or by opening it directly. After opening the BitLocker control panel, users will select the **Turn off BitLocker** option to begin the process. -After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to the control panel. - -The control panel doesn't report decryption progress but displays it in the notification area of the task bar. Selecting the notification area icon will open a modal dialog with progress. - -Once decryption is complete, the drive updates its status in the control panel and becomes available for encryption. - -### Decrypting volumes using the `manage-bde.exe` command-line interface - -Decrypting volumes using `manage-bde.exe` is straightforward. Decryption with `manage-bde.exe` offers the advantage of not requiring user confirmation to start the process. Manage-bde uses the -off command to start the decryption process. A sample command for decryption is: - -```powershell -manage-bde.exe -off C: -``` - -This command disables protectors while it decrypts the volume and removes all protectors when decryption is complete. If users wish to check the status of the decryption, they can use the following command: - -```powershell -manage-bde.exe -status C: -``` - -### Decrypting volumes using the BitLocker Windows PowerShell cmdlets - -Decryption with Windows PowerShell cmdlets is straightforward, similar to `manage-bde.exe`. Windows PowerShell offers the ability to decrypt multiple drives in one pass. In the example below, the user has three encrypted volumes, which they wish to decrypt. - -Using the Disable-BitLocker command, they can remove all protectors and encryption at the same time without the need for more commands. An example of this command is: - -```powershell -Disable-BitLocker -``` - -If a user didn't want to input each mount point individually, using the `-MountPoint` parameter in an array can sequence the same command into one line without requiring additional user input. An example command is: - -```powershell -Disable-BitLocker -MountPoint E:,F:,G: -``` ## PowerShell examples diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.svg index 3886a55c78..739200dabf 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.svg +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/cmd.svg @@ -1,9 +1,9 @@ - - + + - + - + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/controlpanel.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/controlpanel.svg index ad247b92d5..3f526ed38d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/images/controlpanel.svg +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/controlpanel.svg @@ -1,9 +1,9 @@ - - + + - + - + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.svg b/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.svg index 5dcad75bbf..f70257047f 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.svg +++ b/windows/security/operating-system-security/data-protection/bitlocker/images/powershell.svg @@ -1,9 +1,9 @@ - - + + - + - + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md index ae3998fcca..eec7fc9787 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -16,7 +16,7 @@ The tools can be used to perform any tasks that can be accomplished through the Follow the instructions below to configure your devices, selecting the option that best suits your needs. -#### [:::image type="icon" source="images/powershell.png"::: **PowerShell**](#tab/powershell) +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) Similar to manage-bde, the PowerShell cmdlets allow configuration beyond the options offered in the control panel. A good initial step is to determine the current state of the volume(s) on the computer. For example, to determine the current state of a volume you can use the `Get-BitLockerVolume` cmdlet, which provides information on the volume type, protectors, protection status, and other details. @@ -132,9 +132,8 @@ The above command encrypts the drive using the TPM as the default protector. If ## Manage data volumes Follow the instructions below to configure your devices, selecting the option that best suits your needs. - -#### [PowerShell](#tab/powershell) + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) Data volume encryption using Windows PowerShell is the same as for operating system volumes. Add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a SecureString value to store the user-defined password. @@ -266,3 +265,51 @@ Add-BitLockerKeyProtector C: -ADAccountOrGroupProtector -ADAccountOrGroup " > [!NOTE] > Active Directory-based protectors are normally used to unlock Failover Cluster-enabled volumes. + + + +### Decrypt volumes + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + + +Decryption with Windows PowerShell cmdlets is straightforward, similar to `manage-bde.exe`. Windows PowerShell offers the ability to decrypt multiple drives in one pass. In the example below, the user has three encrypted volumes, which they wish to decrypt. + +Using the Disable-BitLocker command, they can remove all protectors and encryption at the same time without the need for more commands. An example of this command is: + +```powershell +Disable-BitLocker +``` + +If a user didn't want to input each mount point individually, using the `-MountPoint` parameter in an array can sequence the same command into one line without requiring additional user input. An example command is: + +```powershell +Disable-BitLocker -MountPoint E:,F:,G: +``` + + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + + +Decrypting volumes using `manage-bde.exe` is straightforward. Decryption with `manage-bde.exe` offers the advantage of not requiring user confirmation to start the process. Manage-bde uses the -off command to start the decryption process. A sample command for decryption is: + +```powershell +manage-bde.exe -off C: +``` + +This command disables protectors while it decrypts the volume and removes all protectors when decryption is complete. If users wish to check the status of the decryption, they can use the following command: + +```powershell +manage-bde.exe -status C: +``` + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +BitLocker decryption using the control panel is done using a wizard. The control panel can be called from Windows Explorer or by opening it directly. After opening the BitLocker control panel, users will select the **Turn off BitLocker** option to begin the process. +After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to the control panel. + +The control panel doesn't report decryption progress but displays it in the notification area of the task bar. Selecting the notification area icon will open a modal dialog with progress. + +Once decryption is complete, the drive updates its status in the control panel and becomes available for encryption. + +--- \ No newline at end of file From f4045c5576ae80bc233b82106dce89caa8261398 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Tue, 3 Oct 2023 18:00:15 -0400 Subject: [PATCH 071/505] merge content --- .../data-protection/bitlocker/configure.md | 298 ++-------------- .../data-protection/bitlocker/manage.md | 336 +++++++++++++++++- 2 files changed, 365 insertions(+), 269 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index d5356e1621..d2219c5cdd 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -1,297 +1,67 @@ --- -title: BitLocker basic deployment -description: This article for the IT professional explains how BitLocker features can be used to protect your data through drive encryption. -ms.topic: conceptual -ms.date: 11/08/2022 +title: BitLocker settings and configuration +description: Learn about the available options to configure BitLocker and how to configure them via Configuration Service Providers (CSP) or group policy (GPO). +ms.topic: how-to +ms.date: 10/03/2023 --- -# BitLocker basic deployment +# BitLocker settings and configuration -This article for the IT professional explains how BitLocker features can be used to protect data through drive encryption. +This article describes the Personal Data Encryption (BitLocker) settings and how to configure them via Microsoft Intune or Configuration Service Providers (CSP). -## Using BitLocker to encrypt volumes +## BitLocker settings -BitLocker provides full volume encryption (FVE) for operating system volumes, and fixed and removable data drives. To support fully encrypted operating system drives, BitLocker uses an unencrypted system partition for the files required to boot, decrypt, and load the operating system. This volume is automatically created during a new installation of both client and server operating systems. +## Configure BitLocker with Microsoft Intune -If the drive was prepared as a single contiguous space, BitLocker requires a new volume to hold the boot files. BdeHdCfg.exe can create these volumes. +## Configure BitLocker with CSP -> [!NOTE] -> For more info about using this tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. +## Disable BitLocker -BitLocker encryption can be enabled and managed using the following methods: +### Disable BitLocker with a settings catalog policy in Intune -- BitLocker control panel -- Windows Explorer -- `manage-bde.exe` command-line interface -- BitLocker Windows PowerShell cmdlets +### Disable BitLocker with CSP -### Encrypting volumes using the BitLocker control panel +## Decrypt BitLocker-encrypted content -Encrypting volumes with the BitLocker control panel (select **Start**, enter `BitLocker`, select **Manage BitLocker**) is how many users will use BitLocker. The name of the BitLocker control panel is BitLocker Drive Encryption. The BitLocker control panel supports encrypting operating system, fixed data, and removable data volumes. The BitLocker control panel will organize available drives in the appropriate category based on how the device reports itself to Windows. Only formatted volumes with assigned drive letters will appear properly in the BitLocker control panel applet. +## Next steps -To start encryption for a volume, select **Turn on BitLocker** for the appropriate drive to initialize the **BitLocker Drive Encryption Wizard**. **BitLocker Drive Encryption Wizard** options vary based on volume type (operating system volume or data volume). +- Review the [Personal Data Encryption (BitLocker) FAQ](faq.yml) -#### Operating system volume -For the operating system volume the **BitLocker Drive Encryption Wizard** presents several screens that prompt for options while it performs several actions: -1. When the **BitLocker Drive Encryption Wizard** first launches, it verifies the computer meets the BitLocker system requirements for encrypting an operating system volume. By default, the system requirements are: - If the volume doesn't pass the initial configuration for BitLocker, the user is presented with an error dialog describing the appropriate actions to be taken. +## Configure Credential Guard -2. Upon passing the initial configuration, users may be prompted to enter a password for the volume, for example, if a TPM isn't available. If a TPM is available, the password screen will be skipped. +This article describes how to configure Credential Guard using Microsoft Intune, Group Policy, or the registry. -3. After the initial configuration/password screens, a recovery key will be generated. The **BitLocker Drive Encryption Wizard** will prompt for a location to save the recovery key. A BitLocker recovery key is a special key that is created when BitLocker Drive Encryption is turned on for the first time on each drive that is encrypted. The recovery key can be used to gain access to the computer if: +## Enable Credential Guard - - The drive that Windows is installed on (the operating system drive) is encrypted using BitLocker Drive Encryption - - BitLocker detects a condition that prevents it from unlocking the drive when the computer is starting up +Credential Guard should be enabled before a device is joined to a domain or before a domain user signs in for the first time. If Credential Guard is enabled after domain join, the user and device secrets may already be compromised. - A recovery key can also be used to gain access to the files and folders on a removable data drive (such as an external hard drive or USB flash drive) that is encrypted using BitLocker To Go, if for some reason the password is forgotten or the computer can't access the drive. +To enable Credential Guard, you can use: - The recovery key can be stored using the following methods: +- Microsoft Intune/MDM +- Group policy +- Registry - - **Save to your Azure AD account** (if applicable) - - **Save to a USB flash drive** - - **Save to a file** - the file needs to be saved to a location that isn't on the computer itself such as a network folder or OneDrive - - **Print the recovery key** +### Configure Credential Guard with group policy - The recovery key can't be stored at the following locations: +### Configure Credential Guard with registry settings - - The drive being encrypted - - The root directory of a non-removable/fixed drive - - An encrypted volume +### Verify if Credential Guard is enabled - > [!TIP] - > Ideally, a computer's recovery key should be stored separate from the computer itself. +#### System Information - > [!NOTE] - > After a recovery key is created, the BitLocker control panel can be used to make additional copies of the recovery key. +#### PowerShell -4. The **BitLocker Drive Encryption Wizard** will then prompt how much of the drive to encrypt. The **BitLocker Drive Encryption Wizard** will have two options that determine how much of the drive is encrypted: +#### Event viewer - - **Encrypt used disk space only** - Encrypts only disk space that contains data. - - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption. +## Disable Credential Guard - Each of the methods is recommended in the following scenarios: +### Disable Credential Guard with Intune - - **Encrypt used disk space only**: +### Disable Credential Guard with group policy - - The drive has never had data - - Formatted or erased drives that in the past have never had confidential data that was never encrypted +### Disable Credential Guard with registry settings - - **Encrypt entire drive** (full disk encryption): - - - Drives that currently have data - - Drives that currently have an operating system - - Formatted or erased drives that in the past had confidential data that was never encrypted - - > [!IMPORTANT] - > Deleted files appear as free space to the file system, which isn't encrypted by **used disk space only**. Until they are wiped or overwritten, deleted files hold information that could be recovered with common data forensic tools. - -5. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: - - - **New encryption mode** - - **Compatible mode** - - Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another computer with an older Windows operating system, then select **Compatible mode**. - -6. After selecting an encryption mode, the **BitLocker Drive Encryption Wizard** will give the option of running a BitLocker system check via the option **Run BitLocker system check**. This system check will ensure that BitLocker can properly access the recovery and encryption keys before the volume encryption begins. it's recommended run this system check before starting the encryption process. If the system check isn't run and a problem is encountered when the operating system attempts to start, the user will need to provide the recovery key to start Windows. - -After completing the system check (if selected), the **BitLocker Drive Encryption Wizard** will begin encryption. A reboot may be initiated to start encryption. If a reboot was initiated, if there was no TPM and a password was specified, the password will need to be entered to boot into the operating system volume. - -Users can check encryption status by checking the system notification area or the BitLocker control panel. - -Until encryption is completed, the only available options for managing BitLocker involve manipulation of the password protecting the operating system volume, backing up the recovery key, and turning off BitLocker. - -#### Data volume - -Encrypting data volumes using the BitLocker control panel works in a similar fashion to encryption of the operating system volumes. Users select **Turn on BitLocker** within the BitLocker control panel to begin the **BitLocker Drive Encryption Wizard**. - -1. Upon launching the **BitLocker Drive Encryption Wizard**, unlike for operating system volumes, data volumes aren't required to pass any configuration tests for the **BitLocker Drive Encryption Wizard** to proceed - -2. A choice of authentication methods to unlock the drive appears. The available options are: - - - **Use a password to unlock the drive** - - **Use my smart card to unlock the drive** - - **Automatically unlock this drive on this computer** - Disabled by default but if enabled, this option will unlock the data volume without user input when the operating system volume is unlocked. - -3. The **BitLocker Drive Encryption Wizard** presents options for storage of the recovery key. These options are the same as for operating system volumes: - - - **Save to your Azure AD account** (if applicable) - - **Save to a USB flash drive** - - **Save to a file** - the file needs to be saved to a location that isn't on the computer itself such as a network folder or OneDrive - - **Print the recovery key** - -4. After saving the recovery key, the **BitLocker Drive Encryption Wizard** will show available options for encryption. These options are the same as for operating system volumes: - - - **Encrypt used disk space only** - Encrypts only disk space that contains data. - - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption. - -5. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: - - - **New encryption mode** - - **Compatible mode** - - Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another computer with an older Windows operating system, then select **Compatible mode**. - -6. The **BitLocker Drive Encryption Wizard** will display a final confirmation screen before the encryption process begins. Selecting **Start encrypting** begins encryption. - -Encryption status displays in the notification area or within the BitLocker control panel. - -### OneDrive option - -There's an option for storing the BitLocker recovery key using OneDrive. This option requires that computers aren't members of a domain and that the user is using a Microsoft Account. Local accounts don't give the option to use OneDrive. Using the OneDrive option is the default recommended recovery key storage method for computers that aren't joined to a domain. - -Users can verify whether the recovery key was saved properly by checking OneDrive for the BitLocker folder. The BitLocker folder on OneDrive is created automatically during the save process. The folder will contain two files, a `readme.txt` and the recovery key. For users storing more than one recovery password on their OneDrive, they can identify the required recovery key by looking at the file name. The recovery key ID is appended to the end of the file name. - -### Using BitLocker within Windows Explorer - -Windows Explorer allows users to launch the **BitLocker Drive Encryption Wizard** by right-clicking a volume and selecting **Turn On BitLocker**. This option is available on client computers by default. On servers, the BitLocker feature and the Desktop-Experience feature must first be installed for this option to be available. After selecting **Turn on BitLocker**, the wizard works exactly as it does when launched using the BitLocker control panel. - -## Encrypting volumes using the `manage-bde.exe` command-line interface - -`Manage-bde.exe` is a command-line utility that can be used for scripting BitLocker operations. `Manage-bde.exe` offers additional options not displayed in the BitLocker control panel. For a complete list of the options, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -`Manage-bde.exe` offers a multitude of wider options for configuring BitLocker. Using the command syntax may require care. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed. For the volume to be fully protected, an authentication method needs to also be added to the volume in addition to running the `manage-bde.exe`command. - -Command-line users need to determine the appropriate syntax for a given situation. The following section covers general encryption for operating system volumes and data volumes. - -### Operating system volume commands - -Listed below are examples of basic valid commands for operating system volumes. In general, using only the `manage-bde.exe -on ` command encrypts the operating system volume with a TPM-only protector and no recovery key. However, many environments require more secure protectors such as passwords or PIN and expect to be able to recover information with a recovery key. - -#### Determining volume status - -A good practice when using `manage-bde.exe` is to determine the volume status on the target system. Use the following command to determine volume status: - -`manage-bde.exe -status` - -This command returns the volumes on the target, current encryption status, and volume type (operating system or data) for each volume. Using this information, users can determine the best encryption method for their environment. - -#### Enabling BitLocker without a TPM - -Suppose BitLocker is desired on a computer without a TPM. In this scenario, a USB flash drive is needed as a startup key for the operating system volume. The startup key will then allow the computer to boot. To create the startup key using `manage-bde.exe`, the `-protectors` switch would be used specifying the `-startupkey` option. Assuming the USB flash drive is drive letter `E:`, then the following `manage-bde.exe` commands would be used t create the startup key and start the BitLocker encryption: - -```powershell -manage-bde.exe -protectors -add C: -startupkey E: -manage-bde.exe -on C: -``` - -If prompted, reboot the computer to complete the encryption process. - -#### Enabling BitLocker with a TPM only - -It's possible to encrypt the operating system volume without any defined protectors by using `manage-bde.exe`. Use this command: - -```cmd -manage-bde.exe -on C: -``` - -This command will encrypt the drive using the TPM as the protector. If users are unsure of the protector for a volume, they can use the `-protectors` option in `manage-bde.exe` to list this information by executing the following command: - -```cmd -manage-bde.exe -protectors -get -``` - -#### Provisioning BitLocker with two protectors - -Another example is a user on a non-TPM hardware who wishes to add a password and SID-based protector to the operating system volume. In this instance, the user adds the protectors first. Adding the protectors is done with the command: - -```cmd -manage-bde.exe -protectors -add C: -pw -sid -``` - -This command requires the user to enter and then confirm the password protectors before adding them to the volume. With the protectors enabled on the volume, the user just needs to turn on BitLocker. - -### Data volume commands - -Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: - -```cmd -manage-bde.exe -on -``` - -Or users can choose to add protectors to the volume. It is recommended to add at least one primary protector and a recovery protector to a data volume. - -#### Enabling BitLocker with a password - -A common protector for a data volume is the password protector. In the example below, a password protector is added to the volume and turn on BitLocker. - -```powershell -manage-bde.exe -protectors -add -pw C: -manage-bde.exe -on C: -``` - -## Checking BitLocker status - -To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLocker control panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. We'll look at each of the available methods in the following section. - -### Checking BitLocker status with the control panel - -Checking BitLocker status with the control panel is the most common method used by most users. Once opened, the status for each volume is displayed next to the volume description and drive letter. Available status return values with the control panel include: - -| Status | Description | -| - | - | -| **On**|BitLocker is enabled for the volume | -| **Off**| BitLocker isn't enabled for the volume | -| **Suspended** | BitLocker is suspended and not actively protecting the volume | -| **Waiting for Activation**| BitLocker is enabled with a clear protector key and requires further action to be fully protected| - -If a drive is pre-provisioned with BitLocker, a status of "Waiting for Activation" displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, `manage-bde.exe` tool, or WMI APIs to add an appropriate key protector. Once complete, the control panel will update to reflect the new status. - -Using the control panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. -The drive security window displays prior to changing the volume status. Selecting **Activate BitLocker** will complete the encryption process. - -Once BitLocker protector activation is completed, the completion notice is displayed. - -### Provisioning BitLocker during operating system deployment - -Administrators can enable BitLocker prior to operating system deployment from the Windows Pre-installation environment. Enabling BitLocker prior to the operating system deployment is done with a randomly generated clear key protector applied to the formatted volume and by encrypting the volume prior to running the Windows setup process. If the encryption uses the **Used Disk Space Only** option described later in this document, this step takes only a few seconds and incorporates well into regular deployment processes. - -### Decrypting BitLocker volumes - -Decrypting volumes removes BitLocker and any associated protectors from the volumes. Decryption should occur when protection is no longer required. BitLocker decryption shouldn't occur as a troubleshooting step. BitLocker can be removed from a volume using the BitLocker control panel applet, `manage-bde.exe`, or Windows PowerShell cmdlets. We'll discuss each method further below. - - - -## PowerShell examples - -For Azure AD-joined computers, including virtual machines, the recovery password should be stored in Azure AD. - -**Example**: *Use PowerShell to add a recovery password and back it up to Azure AD before enabling BitLocker* - -```powershell -Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector - -$BLV = Get-BitLockerVolume -MountPoint "C:" - -BackupToAAD-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId -``` - -For domain-joined computers, including servers, the recovery password should be stored in Active Directory Domain Services (AD DS). - -**Example**: *Use PowerShell to add a recovery password and back it up to AD DS before enabling BitLocker* - -```powershell -Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector - -$BLV = Get-BitLockerVolume -MountPoint "C:" - -Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId -``` - -PowerShell can then be used to enable BitLocker: - -**Example**: *Use PowerShell to enable BitLocker with a TPM protector* - -```powershell -Enable-BitLocker -MountPoint "D:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector -``` - -**Example**: *Use PowerShell to enable BitLocker with a TPM+PIN protector, in this case with a PIN set to 123456* - -```powershell -$SecureString = ConvertTo-SecureString "123456" -AsPlainText -Force - -Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pin $SecureString -TPMandPinProtector -``` \ No newline at end of file +## Next steps diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md index eec7fc9787..df02a95dec 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -13,7 +13,6 @@ BitLocker drive encryption tools include the two command-line tools *manage-bde. The tools can be used to perform any tasks that can be accomplished through the BitLocker control panel and are appropriate to use for automated deployments and other scripting scenarios. - Follow the instructions below to configure your devices, selecting the option that best suits your needs. #### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) @@ -89,14 +88,15 @@ Manage-bde is a command-line tool that can be used for scripting BitLocker opera Manage-bde includes fewer default settings and requires greater customization for configuring BitLocker. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed because an authentication method needs to be added to the volume for it to be fully protected. The following sections provide examples of common usage scenarios for manage-bde. -### Using manage-bde with operating system volumes +### Using manage-bde with + +## Manage operating system volumes + Listed below are examples of basic valid commands for operating system volumes. In general, using only the `manage-bde.exe -on ` command will encrypt the operating system volume with a TPM-only protector and no recovery key. However, many environments require more secure protectors such as passwords or PIN and expect information recovery with a recovery key. It's recommended to add at least one primary protector plus a recovery protector to an operating system volume. A good practice when using `manage-bde.exe` is to determine the volume status on the target system. Use the following command to determine volume status: - - This command returns the volumes on the target, current encryption status, encryption method, and volume type (operating system or data) for each volume. The following example illustrates enabling BitLocker on a computer without a TPM chip. Before beginning the encryption process, the startup key needed for BitLocker must be created and saved to a USB drive. When BitLocker is enabled for the operating system volume, BitLocker will need to access the USB flash drive to obtain the encryption key. In this example, the drive letter E represents the USB drive. Once the commands are run, it will prompt to reboot the computer to complete the encryption process. @@ -312,4 +312,330 @@ The control panel doesn't report decryption progress but displays it in the noti Once decryption is complete, the drive updates its status in the control panel and becomes available for encryption. ---- \ No newline at end of file +--- + +## Check BitLocker status + +To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLocker control panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. We'll look at each of the available methods in the following section. + + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + +A good practice when using `manage-bde.exe` is to determine the volume status on the target system. Use the following command to determine volume status: + +`manage-bde.exe -status` + +This command returns the volumes on the target, current encryption status, and volume type (operating system or data) for each volume. Using this information, users can determine the best encryption method for their environment. + + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +Checking BitLocker status with the control panel is the most common method used by most users. Once opened, the status for each volume is displayed next to the volume description and drive letter. Available status return values with the control panel include: + +| Status | Description | +| - | - | +| **On**|BitLocker is enabled for the volume | +| **Off**| BitLocker isn't enabled for the volume | +| **Suspended** | BitLocker is suspended and not actively protecting the volume | +| **Waiting for Activation**| BitLocker is enabled with a clear protector key and requires further action to be fully protected| + +If a drive is pre-provisioned with BitLocker, a status of "Waiting for Activation" displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, `manage-bde.exe` tool, or WMI APIs to add an appropriate key protector. Once complete, the control panel will update to reflect the new status. + +Using the control panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. +The drive security window displays prior to changing the volume status. Selecting **Activate BitLocker** will complete the encryption process. + +Once BitLocker protector activation is completed, the completion notice is displayed. + + +--- + +## Encrypt volumes + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + +Listed below are examples of basic valid commands for operating system volumes. In general, using only the `manage-bde.exe -on ` command encrypts the operating system volume with a TPM-only protector and no recovery key. However, many environments require more secure protectors such as passwords or PIN and expect to be able to recover information with a recovery key. + +### Enabling BitLocker without a TPM + +Suppose BitLocker is desired on a computer without a TPM. In this scenario, a USB flash drive is needed as a startup key for the operating system volume. The startup key will then allow the computer to boot. To create the startup key using `manage-bde.exe`, the `-protectors` switch would be used specifying the `-startupkey` option. Assuming the USB flash drive is drive letter `E:`, then the following `manage-bde.exe` commands would be used t create the startup key and start the BitLocker encryption: + +```powershell +manage-bde.exe -protectors -add C: -startupkey E: +manage-bde.exe -on C: +``` + +If prompted, reboot the computer to complete the encryption process. + +### Enabling BitLocker with a TPM only + +It's possible to encrypt the operating system volume without any defined protectors by using `manage-bde.exe`. Use this command: + +```cmd +manage-bde.exe -on C: +``` + +This command will encrypt the drive using the TPM as the protector. If users are unsure of the protector for a volume, they can use the `-protectors` option in `manage-bde.exe` to list this information by executing the following command: + +```cmd +manage-bde.exe -protectors -get +``` + +### Provisioning BitLocker with two protectors + +Another example is a user on a non-TPM hardware who wishes to add a password and SID-based protector to the operating system volume. In this instance, the user adds the protectors first. Adding the protectors is done with the command: + +```cmd +manage-bde.exe -protectors -add C: -pw -sid +``` + +This command requires the user to enter and then confirm the password protectors before adding them to the volume. With the protectors enabled on the volume, the user just needs to turn on BitLocker. + +### Data volume commands + +Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: + +```cmd +manage-bde.exe -on +``` + +Or users can choose to add protectors to the volume. It is recommended to add at least one primary protector and a recovery protector to a data volume. + +### Enabling BitLocker with a password + +A common protector for a data volume is the password protector. In the example below, a password protector is added to the volume and turn on BitLocker. + +```powershell +manage-bde.exe -protectors -add -pw C: +manage-bde.exe -on C: +``` + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +--- + + + +## Using BitLocker to encrypt volumes + +BitLocker provides full volume encryption (FVE) for operating system volumes, and fixed and removable data drives. To support fully encrypted operating system drives, BitLocker uses an unencrypted system partition for the files required to boot, decrypt, and load the operating system. This volume is automatically created during a new installation of both client and server operating systems. + +If the drive was prepared as a single contiguous space, BitLocker requires a new volume to hold the boot files. BdeHdCfg.exe can create these volumes. + +> [!NOTE] +> For more info about using this tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. + +BitLocker encryption can be enabled and managed using the following methods: + +- BitLocker control panel +- Windows Explorer +- `manage-bde.exe` command-line interface +- BitLocker Windows PowerShell cmdlets + + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + +`Manage-bde.exe` is a command-line utility that can be used for scripting BitLocker operations. `Manage-bde.exe` offers additional options not displayed in the BitLocker control panel. For a complete list of the options, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). + +`Manage-bde.exe` offers a multitude of wider options for configuring BitLocker. Using the command syntax may require care. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed. For the volume to be fully protected, an authentication method needs to also be added to the volume in addition to running the `manage-bde.exe`command. + +Command-line users need to determine the appropriate syntax for a given situation. The following section covers general encryption for operating system volumes and data volumes. + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +### Encrypting volumes using the BitLocker control panel + +Encrypting volumes with the BitLocker control panel (select **Start**, enter `BitLocker`, select **Manage BitLocker**) is how many users will use BitLocker. The name of the BitLocker control panel is BitLocker Drive Encryption. The BitLocker control panel supports encrypting operating system, fixed data, and removable data volumes. The BitLocker control panel will organize available drives in the appropriate category based on how the device reports itself to Windows. Only formatted volumes with assigned drive letters will appear properly in the BitLocker control panel applet. + +To start encryption for a volume, select **Turn on BitLocker** for the appropriate drive to initialize the **BitLocker Drive Encryption Wizard**. **BitLocker Drive Encryption Wizard** options vary based on volume type (operating system volume or data volume). + +### Operating system volume + +For the operating system volume the **BitLocker Drive Encryption Wizard** presents several screens that prompt for options while it performs several actions: + +1. When the **BitLocker Drive Encryption Wizard** first launches, it verifies the computer meets the BitLocker system requirements for encrypting an operating system volume. By default, the system requirements are: + + If the volume doesn't pass the initial configuration for BitLocker, the user is presented with an error dialog describing the appropriate actions to be taken. + +2. Upon passing the initial configuration, users may be prompted to enter a password for the volume, for example, if a TPM isn't available. If a TPM is available, the password screen will be skipped. + +3. After the initial configuration/password screens, a recovery key will be generated. The **BitLocker Drive Encryption Wizard** will prompt for a location to save the recovery key. A BitLocker recovery key is a special key that is created when BitLocker Drive Encryption is turned on for the first time on each drive that is encrypted. The recovery key can be used to gain access to the computer if: + + - The drive that Windows is installed on (the operating system drive) is encrypted using BitLocker Drive Encryption + - BitLocker detects a condition that prevents it from unlocking the drive when the computer is starting up + + A recovery key can also be used to gain access to the files and folders on a removable data drive (such as an external hard drive or USB flash drive) that is encrypted using BitLocker To Go, if for some reason the password is forgotten or the computer can't access the drive. + + The recovery key can be stored using the following methods: + + - **Save to your Azure AD account** (if applicable) + - **Save to a USB flash drive** + - **Save to a file** - the file needs to be saved to a location that isn't on the computer itself such as a network folder or OneDrive + - **Print the recovery key** + + The recovery key can't be stored at the following locations: + + - The drive being encrypted + - The root directory of a non-removable/fixed drive + - An encrypted volume + + > [!TIP] + > Ideally, a computer's recovery key should be stored separate from the computer itself. + + > [!NOTE] + > After a recovery key is created, the BitLocker control panel can be used to make additional copies of the recovery key. + +4. The **BitLocker Drive Encryption Wizard** will then prompt how much of the drive to encrypt. The **BitLocker Drive Encryption Wizard** will have two options that determine how much of the drive is encrypted: + + - **Encrypt used disk space only** - Encrypts only disk space that contains data. + - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption. + + Each of the methods is recommended in the following scenarios: + + - **Encrypt used disk space only**: + + - The drive has never had data + - Formatted or erased drives that in the past have never had confidential data that was never encrypted + + - **Encrypt entire drive** (full disk encryption): + + - Drives that currently have data + - Drives that currently have an operating system + - Formatted or erased drives that in the past had confidential data that was never encrypted + + > [!IMPORTANT] + > Deleted files appear as free space to the file system, which isn't encrypted by **used disk space only**. Until they are wiped or overwritten, deleted files hold information that could be recovered with common data forensic tools. + +5. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: + + - **New encryption mode** + - **Compatible mode** + + Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another computer with an older Windows operating system, then select **Compatible mode**. + +6. After selecting an encryption mode, the **BitLocker Drive Encryption Wizard** will give the option of running a BitLocker system check via the option **Run BitLocker system check**. This system check will ensure that BitLocker can properly access the recovery and encryption keys before the volume encryption begins. it's recommended run this system check before starting the encryption process. If the system check isn't run and a problem is encountered when the operating system attempts to start, the user will need to provide the recovery key to start Windows. + +After completing the system check (if selected), the **BitLocker Drive Encryption Wizard** will begin encryption. A reboot may be initiated to start encryption. If a reboot was initiated, if there was no TPM and a password was specified, the password will need to be entered to boot into the operating system volume. + +Users can check encryption status by checking the system notification area or the BitLocker control panel. + +Until encryption is completed, the only available options for managing BitLocker involve manipulation of the password protecting the operating system volume, backing up the recovery key, and turning off BitLocker. + +### Data volume + +Encrypting data volumes using the BitLocker control panel works in a similar fashion to encryption of the operating system volumes. Users select **Turn on BitLocker** within the BitLocker control panel to begin the **BitLocker Drive Encryption Wizard**. + +1. Upon launching the **BitLocker Drive Encryption Wizard**, unlike for operating system volumes, data volumes aren't required to pass any configuration tests for the **BitLocker Drive Encryption Wizard** to proceed + +2. A choice of authentication methods to unlock the drive appears. The available options are: + + - **Use a password to unlock the drive** + - **Use my smart card to unlock the drive** + - **Automatically unlock this drive on this computer** - Disabled by default but if enabled, this option will unlock the data volume without user input when the operating system volume is unlocked. + +3. The **BitLocker Drive Encryption Wizard** presents options for storage of the recovery key. These options are the same as for operating system volumes: + + - **Save to your Azure AD account** (if applicable) + - **Save to a USB flash drive** + - **Save to a file** - the file needs to be saved to a location that isn't on the computer itself such as a network folder or OneDrive + - **Print the recovery key** + +4. After saving the recovery key, the **BitLocker Drive Encryption Wizard** will show available options for encryption. These options are the same as for operating system volumes: + + - **Encrypt used disk space only** - Encrypts only disk space that contains data. + - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption. + +5. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: + + - **New encryption mode** + - **Compatible mode** + + Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another computer with an older Windows operating system, then select **Compatible mode**. + +6. The **BitLocker Drive Encryption Wizard** will display a final confirmation screen before the encryption process begins. Selecting **Start encrypting** begins encryption. + +Encryption status displays in the notification area or within the BitLocker control panel. + +### OneDrive option + +There's an option for storing the BitLocker recovery key using OneDrive. This option requires that computers aren't members of a domain and that the user is using a Microsoft Account. Local accounts don't give the option to use OneDrive. Using the OneDrive option is the default recommended recovery key storage method for computers that aren't joined to a domain. + +Users can verify whether the recovery key was saved properly by checking OneDrive for the BitLocker folder. The BitLocker folder on OneDrive is created automatically during the save process. The folder will contain two files, a `readme.txt` and the recovery key. For users storing more than one recovery password on their OneDrive, they can identify the required recovery key by looking at the file name. The recovery key ID is appended to the end of the file name. + +### Using BitLocker within Windows Explorer + +Windows Explorer allows users to launch the **BitLocker Drive Encryption Wizard** by right-clicking a volume and selecting **Turn On BitLocker**. This option is available on client computers by default. On servers, the BitLocker feature and the Desktop-Experience feature must first be installed for this option to be available. After selecting **Turn on BitLocker**, the wizard works exactly as it does when launched using the BitLocker control panel. +--- + + +## Template + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +--- + + +### Provisioning BitLocker during operating system deployment + +Administrators can enable BitLocker prior to operating system deployment from the Windows Pre-installation environment. Enabling BitLocker prior to the operating system deployment is done with a randomly generated clear key protector applied to the formatted volume and by encrypting the volume prior to running the Windows setup process. If the encryption uses the **Used Disk Space Only** option described later in this document, this step takes only a few seconds and incorporates well into regular deployment processes. + +### Decrypting BitLocker volumes + +Decrypting volumes removes BitLocker and any associated protectors from the volumes. Decryption should occur when protection is no longer required. BitLocker decryption shouldn't occur as a troubleshooting step. BitLocker can be removed from a volume using the BitLocker control panel applet, `manage-bde.exe`, or Windows PowerShell cmdlets. We'll discuss each method further below. + + +## PowerShell examples to move + +For Azure AD-joined computers, including virtual machines, the recovery password should be stored in Azure AD. + +**Example**: *Use PowerShell to add a recovery password and back it up to Azure AD before enabling BitLocker* + +```powershell +Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector + +$BLV = Get-BitLockerVolume -MountPoint "C:" + +BackupToAAD-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId +``` + +For domain-joined computers, including servers, the recovery password should be stored in Active Directory Domain Services (AD DS). + +**Example**: *Use PowerShell to add a recovery password and back it up to AD DS before enabling BitLocker* + +```powershell +Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector + +$BLV = Get-BitLockerVolume -MountPoint "C:" + +Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId +``` + +PowerShell can then be used to enable BitLocker: + +**Example**: *Use PowerShell to enable BitLocker with a TPM protector* + +```powershell +Enable-BitLocker -MountPoint "D:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector +``` + +**Example**: *Use PowerShell to enable BitLocker with a TPM+PIN protector, in this case with a PIN set to 123456* + +```powershell +$SecureString = ConvertTo-SecureString "123456" -AsPlainText -Force + +Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pin $SecureString -TPMandPinProtector +``` \ No newline at end of file From 9e45ddf83c44c119fb578f3e283913eb933e5a49 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 4 Oct 2023 08:01:46 -0400 Subject: [PATCH 072/505] updates --- .../data-protection/bitlocker/manage.md | 570 +++++++++--------- 1 file changed, 283 insertions(+), 287 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md index df02a95dec..692b35f2c0 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -1,169 +1,24 @@ --- -title: Manage BitLocker in your organization -description: Learn how to use different tools to manage BitLocker in your organization. +title: BitLocker common operations +description: Learn how to use different tools to operate BitLocker in your organization. ms.collection: - tier1 ms.topic: how-to ms.date: 07/25/2023 --- -# Manage BitLocker in your organization +# BitLocker common operations -BitLocker drive encryption tools include the two command-line tools *manage-bde.exe* and *repair-bde.exe*, and the BitLocker PowerShell module. +There are differnt tools and options to operate BitLocker: -The tools can be used to perform any tasks that can be accomplished through the BitLocker control panel and are appropriate to use for automated deployments and other scripting scenarios. +- the BitLocker drive encryption tools include the two command-line tools *manage-bde.exe* and *repair-bde.exe* +- the BitLocker PowerShell module +- Control Panel -Follow the instructions below to configure your devices, selecting the option that best suits your needs. +The BitLocker drive encryption tools and BitLocker PowerShell module can be used to perform any tasks that can be accomplished through the BitLocker control panel. They are appropriate to use for automated deployments and other scripting scenarios. -#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) +Manage-bde is a command-line tool that can be used for scripting BitLocker operations. Manage-bde offers additional options not displayed in the BitLocker control panel. For a complete list of the `manage-bde.exe` options, see the [Manage-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) command-line reference. Manage-bde includes fewer default settings and requires greater customization for configuring BitLocker. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed because an authentication method needs to be added to the volume for it to be fully protected. The following sections provide examples of common usage scenarios for manage-bde. -Similar to manage-bde, the PowerShell cmdlets allow configuration beyond the options offered in the control panel. A good initial step is to determine the current state of the volume(s) on the computer. For example, to determine the current state of a volume you can use the `Get-BitLockerVolume` cmdlet, which provides information on the volume type, protectors, protection status, and other details. - -```powershell -PS C:\> Get-BitLockerVolume C: | fl - -ComputerName : DESKTOP -MountPoint : C: -EncryptionMethod : XtsAes128 -AutoUnlockEnabled : -AutoUnlockKeyStored : False -MetadataVersion : 2 -VolumeStatus : FullyEncrypted -ProtectionStatus : On -LockStatus : Unlocked -EncryptionPercentage : 100 -WipePercentage : 0 -VolumeType : OperatingSystem -CapacityGB : 1000 -KeyProtector : {Tpm, RecoveryPassword} -``` - -To remove the existing protectors prior to provisioning BitLocker on the volume, use the `Remove-BitLockerKeyProtector` cmdlet. Running this cmdlet requires the GUID associated with the protector to be removed. - -The following commands return the list of key protectors and GUIDS: - -```PowerShell -$vol = Get-BitLockerVolume -$keyprotectors = $vol.KeyProtector -$keyprotectors -``` - -By using this information, the key protector for a specific volume can be removed using the command: - -```powershell -Remove-BitLockerKeyProtector : -KeyProtectorID "{GUID}" -``` - -> [!NOTE] -> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. - -#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) - -```cmd -C:\>manage-bde -status - -Volume C: [Local Disk] -[OS Volume] - - Size: 1000 GB - BitLocker Version: 2.0 - Conversion Status: Used Space Only Encrypted - Percentage Encrypted: 100.0% - Encryption Method: XTS-AES 128 - Protection Status: Protection On - Lock Status: Unlocked - Identification Field: Unknown - Key Protectors: - TPM - Numerical Password -``` - -#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) - ---- - -## Manage-bde - -Manage-bde is a command-line tool that can be used for scripting BitLocker operations. Manage-bde offers additional options not displayed in the BitLocker control panel. For a complete list of the `manage-bde.exe` options, see the [Manage-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) command-line reference. - -Manage-bde includes fewer default settings and requires greater customization for configuring BitLocker. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed because an authentication method needs to be added to the volume for it to be fully protected. The following sections provide examples of common usage scenarios for manage-bde. - -### Using manage-bde with - -## Manage operating system volumes - - -Listed below are examples of basic valid commands for operating system volumes. In general, using only the `manage-bde.exe -on ` command will encrypt the operating system volume with a TPM-only protector and no recovery key. However, many environments require more secure protectors such as passwords or PIN and expect information recovery with a recovery key. It's recommended to add at least one primary protector plus a recovery protector to an operating system volume. - -A good practice when using `manage-bde.exe` is to determine the volume status on the target system. Use the following command to determine volume status: - -This command returns the volumes on the target, current encryption status, encryption method, and volume type (operating system or data) for each volume. - -The following example illustrates enabling BitLocker on a computer without a TPM chip. Before beginning the encryption process, the startup key needed for BitLocker must be created and saved to a USB drive. When BitLocker is enabled for the operating system volume, BitLocker will need to access the USB flash drive to obtain the encryption key. In this example, the drive letter E represents the USB drive. Once the commands are run, it will prompt to reboot the computer to complete the encryption process. - -```cmd -manage-bde.exe -protectors -add C: -startupkey E: -manage-bde.exe -on C: -``` - -> [!NOTE] -> After the encryption is completed, the USB startup key must be inserted before the operating system can be started. - -An alternative to the startup key protector on non-TPM hardware is to use a password and an **ADaccountorgroup** protector to protect the operating system volume. In this scenario, the protectors are added first. To add the protectors, enter the following command: - -```cmd -manage-bde.exe -protectors -add C: -pw -sid -``` - -The above command will require the password protector to be entered and confirmed before adding them to the volume. With the protectors enabled on the volume, BitLocker can then be turned on. - -On computers with a TPM, it's possible to encrypt the operating system volume without defining any protectors using `manage-bde.exe`. To enable BitLocker on a computer with a TPM without defining any protectors, enter the following command: - -```cmd -manage-bde.exe -on C: -``` - -The above command encrypts the drive using the TPM as the default protector. If verify if a TPM protector is available, the list of protectors available for a volume can be listed by running the following command: - -```cmd - manage-bde.exe -protectors -get -``` - -## Manage data volumes - -Follow the instructions below to configure your devices, selecting the option that best suits your needs. - -#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) - -Data volume encryption using Windows PowerShell is the same as for operating system volumes. Add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a -SecureString value to store the user-defined password. - -```powershell -$pw = Read-Host -AsSecureString - -Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw -``` - -> [!NOTE] -> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. - -#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) - -Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: - -`manage-bde.exe -on ` - -or additional protectors can be added to the volume first. It's recommended to add at least one primary protector plus a recovery protector to a data volume. - -A common protector for a data volume is the password protector. In the example below, a password protector is added to the volume and then BitLocker is turned on. - -```cmd -manage-bde.exe -protectors -add -pw C: -manage-bde.exe -on C: -``` -#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) - ---- ## BitLocker Repair Tool @@ -197,6 +52,9 @@ For more information about using repair-bde, see [Repair-bde](/previous-versions ## BitLocker PowerShell module +Using the BitLocker Windows PowerShell cmdlets is similar to working with the manage-bde tool for encrypting operating system volumes. Windows PowerShell offers users flexibility. For example, users can add the desired protector as part command for encrypting the volume. + + The BitLocker PowerShell module enables administrators to integrate BitLocker options into existing scripts with ease. Here's a lists of the cmdlets included in the BitLocker PowerShell module: - `Add-BitLockerKeyProtector` @@ -216,111 +74,59 @@ The BitLocker PowerShell module enables administrators to integrate BitLocker op -### Using the BitLocker Windows PowerShell cmdlets with operating system volumes -Using the BitLocker Windows PowerShell cmdlets is similar to working with the manage-bde tool for encrypting operating system volumes. Windows PowerShell offers users flexibility. For example, users can add the desired protector as part command for encrypting the volume. Below are examples of common user scenarios and steps to accomplish them in BitLocker Windows PowerShell. +## Using BitLocker to encrypt volumes -The following example shows how to enable BitLocker on an operating system drive using only the TPM protector: +BitLocker provides full volume encryption (FVE) for operating system volumes, and fixed and removable data drives. To support fully encrypted operating system drives, BitLocker uses an unencrypted system partition for the files required to boot, decrypt, and load the operating system. This volume is automatically created during a new installation of both client and server operating systems. -```powershell -Enable-BitLocker C: -``` - -In the example below, adds one additional protector, the StartupKey protector and chooses to skip the BitLocker hardware test. In this example, encryption starts immediately without the need for a reboot. - -```powershell -Enable-BitLocker C: -StartupKeyProtector -StartupKeyPath -SkipHardwareTest -``` - -### Using an SID-based protector in Windows PowerShell - -The **ADAccountOrGroup** protector is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding an SID-based protector for the Cluster Name Object (CNO) that lets the disk properly failover and unlock to any member computer of the cluster. - -> [!WARNING] -> The SID-based protector requires the use of an additional protector such as TPM, PIN, recovery key, etc. when used on operating system volumes. - -To add an **ADAccountOrGroup** protector to a volume, either the domain SID is needed or the group name preceded by the domain and a backslash. In the example below, the **CONTOSO\\Administrator** account is added as a protector to the data volume G. - -```powershell -Enable-BitLocker G: -AdAccountOrGroupProtector -AdAccountOrGroup CONTOSO\Administrator -``` - -For users who wish to use the SID for the account or group, the first step is to determine the SID associated with the account. To get the specific SID for a user account in Windows PowerShell, use the following command: - -```powershell -Get-ADUser -filter {samaccountname -eq "administrator"} -``` +If the drive was prepared as a single contiguous space, BitLocker requires a new volume to hold the boot files. BdeHdCfg.exe can create these volumes. > [!NOTE] -> Use of this command requires the RSAT-AD-PowerShell feature. - -> [!TIP] -> In addition to the Windows PowerShell command above, information about the locally logged on user and group membership can be found using: `WHOAMI /ALL`. This doesn't require the use of additional features. - -In the example below, the user wishes to add a domain SID-based protector to the previously encrypted operating system volume. The user knows the SID for the user account or group they wish to add and uses the following command: - -```powershell -Add-BitLockerKeyProtector C: -ADAccountOrGroupProtector -ADAccountOrGroup "" -``` - -> [!NOTE] -> Active Directory-based protectors are normally used to unlock Failover Cluster-enabled volumes. +> For more info about using this tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. -### Decrypt volumes +`Manage-bde.exe` is a command-line utility that can be used for scripting BitLocker operations. `Manage-bde.exe` offers additional options not displayed in the BitLocker control panel. For a complete list of the options, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). -#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) +`Manage-bde.exe` offers a multitude of wider options for configuring BitLocker. Using the command syntax may require care. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed. For the volume to be fully protected, an authentication method needs to also be added to the volume in addition to running the `manage-bde.exe`command. + +Command-line users need to determine the appropriate syntax for a given situation. The following section covers general encryption for operating system volumes and data volumes. -Decryption with Windows PowerShell cmdlets is straightforward, similar to `manage-bde.exe`. Windows PowerShell offers the ability to decrypt multiple drives in one pass. In the example below, the user has three encrypted volumes, which they wish to decrypt. +## Provisioning BitLocker during operating system deployment -Using the Disable-BitLocker command, they can remove all protectors and encryption at the same time without the need for more commands. An example of this command is: +Administrators can enable BitLocker prior to operating system deployment from the Windows Pre-installation environment. Enabling BitLocker prior to the operating system deployment is done with a randomly generated clear key protector applied to the formatted volume and by encrypting the volume prior to running the Windows setup process. If the encryption uses the **Used Disk Space Only** option described later in this document, this step takes only a few seconds and incorporates well into regular deployment processes. -```powershell -Disable-BitLocker -``` - -If a user didn't want to input each mount point individually, using the `-MountPoint` parameter in an array can sequence the same command into one line without requiring additional user input. An example command is: - -```powershell -Disable-BitLocker -MountPoint E:,F:,G: -``` - - -#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) - - -Decrypting volumes using `manage-bde.exe` is straightforward. Decryption with `manage-bde.exe` offers the advantage of not requiring user confirmation to start the process. Manage-bde uses the -off command to start the decryption process. A sample command for decryption is: - -```powershell -manage-bde.exe -off C: -``` - -This command disables protectors while it decrypts the volume and removes all protectors when decryption is complete. If users wish to check the status of the decryption, they can use the following command: - -```powershell -manage-bde.exe -status C: -``` - -#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) - -BitLocker decryption using the control panel is done using a wizard. The control panel can be called from Windows Explorer or by opening it directly. After opening the BitLocker control panel, users will select the **Turn off BitLocker** option to begin the process. -After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to the control panel. - -The control panel doesn't report decryption progress but displays it in the notification area of the task bar. Selecting the notification area icon will open a modal dialog with progress. - -Once decryption is complete, the drive updates its status in the control panel and becomes available for encryption. - ---- ## Check BitLocker status +Follow the instructions below verify the status of BitLocker, selecting the option that best suits your needs. + To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLocker control panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. We'll look at each of the available methods in the following section. - #### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) +To determine the current state of a volume you can use the `Get-BitLockerVolume` cmdlet, which provides information on the volume type, protectors, protection status, and other details. For example: + +```powershell +PS C:\> Get-BitLockerVolume C: | fl + +ComputerName : DESKTOP +MountPoint : C: +EncryptionMethod : XtsAes128 +AutoUnlockEnabled : +AutoUnlockKeyStored : False +MetadataVersion : 2 +VolumeStatus : FullyEncrypted +ProtectionStatus : On +LockStatus : Unlocked +EncryptionPercentage : 100 +WipePercentage : 0 +VolumeType : OperatingSystem +CapacityGB : 1000 +KeyProtector : {Tpm, RecoveryPassword} +``` + #### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) @@ -328,8 +134,26 @@ A good practice when using `manage-bde.exe` is to determine the volume status on `manage-bde.exe -status` -This command returns the volumes on the target, current encryption status, and volume type (operating system or data) for each volume. Using this information, users can determine the best encryption method for their environment. +This command returns the volumes on the target, current encryption status, encryption method, and volume type (operating system or data) for each volume. Using this information, users can determine the best encryption method for their environment. +```cmd +C:\>manage-bde -status + +Volume C: [Local Disk] +[OS Volume] + + Size: 1000 GB + BitLocker Version: 2.0 + Conversion Status: Used Space Only Encrypted + Percentage Encrypted: 100.0% + Encryption Method: XTS-AES 128 + Protection Status: Protection On + Lock Status: Unlocked + Identification Field: Unknown + Key Protectors: + TPM + Numerical Password +``` #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) @@ -349,13 +173,28 @@ The drive security window displays prior to changing the volume status. Selectin Once BitLocker protector activation is completed, the completion notice is displayed. - --- -## Encrypt volumes + + + + + +## Enable BitLocker #### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) +The following example shows how to enable BitLocker on an operating system drive using only the TPM protector: + +```powershell +Enable-BitLocker C: +``` + +In the example below, adds one additional protector, the StartupKey protector and chooses to skip the BitLocker hardware test. In this example, encryption starts immediately without the need for a reboot. + +```powershell +Enable-BitLocker C: -StartupKeyProtector -StartupKeyPath -SkipHardwareTest +``` #### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) @@ -415,44 +254,10 @@ manage-bde.exe -protectors -add -pw C: manage-bde.exe -on C: ``` -#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) ---- - - - -## Using BitLocker to encrypt volumes - -BitLocker provides full volume encryption (FVE) for operating system volumes, and fixed and removable data drives. To support fully encrypted operating system drives, BitLocker uses an unencrypted system partition for the files required to boot, decrypt, and load the operating system. This volume is automatically created during a new installation of both client and server operating systems. - -If the drive was prepared as a single contiguous space, BitLocker requires a new volume to hold the boot files. BdeHdCfg.exe can create these volumes. - -> [!NOTE] -> For more info about using this tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. - -BitLocker encryption can be enabled and managed using the following methods: - -- BitLocker control panel -- Windows Explorer -- `manage-bde.exe` command-line interface -- BitLocker Windows PowerShell cmdlets - - -#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) - - -#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) - -`Manage-bde.exe` is a command-line utility that can be used for scripting BitLocker operations. `Manage-bde.exe` offers additional options not displayed in the BitLocker control panel. For a complete list of the options, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -`Manage-bde.exe` offers a multitude of wider options for configuring BitLocker. Using the command syntax may require care. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed. For the volume to be fully protected, an authentication method needs to also be added to the volume in addition to running the `manage-bde.exe`command. - -Command-line users need to determine the appropriate syntax for a given situation. The following section covers general encryption for operating system volumes and data volumes. #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) -### Encrypting volumes using the BitLocker control panel - Encrypting volumes with the BitLocker control panel (select **Start**, enter `BitLocker`, select **Manage BitLocker**) is how many users will use BitLocker. The name of the BitLocker control panel is BitLocker Drive Encryption. The BitLocker control panel supports encrypting operating system, fixed data, and removable data volumes. The BitLocker control panel will organize available drives in the appropriate category based on how the device reports itself to Windows. Only formatted volumes with assigned drive letters will appear properly in the BitLocker control panel applet. To start encryption for a volume, select **Turn on BitLocker** for the appropriate drive to initialize the **BitLocker Drive Encryption Wizard**. **BitLocker Drive Encryption Wizard** options vary based on volume type (operating system volume or data volume). @@ -573,34 +378,102 @@ Users can verify whether the recovery key was saved properly by checking OneDriv ### Using BitLocker within Windows Explorer Windows Explorer allows users to launch the **BitLocker Drive Encryption Wizard** by right-clicking a volume and selecting **Turn On BitLocker**. This option is available on client computers by default. On servers, the BitLocker feature and the Desktop-Experience feature must first be installed for this option to be available. After selecting **Turn on BitLocker**, the wizard works exactly as it does when launched using the BitLocker control panel. + + --- -## Template + + + + + + + + + + + + + + + + + + + +## Manage BitLocker protectors + +Follow the instructions below manage BitLocker protectors, selecting the option that best suits your needs. #### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) +To remove the existing protectors prior to provisioning BitLocker on the volume, use the `Remove-BitLockerKeyProtector` cmdlet. Running this cmdlet requires the GUID associated with the protector to be removed. -#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) +The following commands return the list of key protectors and GUIDS: + +```PowerShell +$vol = Get-BitLockerVolume C: +$keyprotectors = $vol.KeyProtector +$keyprotectors +``` + +By using this information, the key protector for a specific volume can be removed using the command: + +```powershell +Remove-BitLockerKeyProtector : -KeyProtectorID "{GUID}" +``` + +> [!NOTE] +> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. + +Data volume encryption using Windows PowerShell is the same as for operating system volumes. Add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a +SecureString value to store the user-defined password. + +```powershell +$pw = Read-Host -AsSecureString + +Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw +``` + +> [!NOTE] +> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. -#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) ---- +The **ADAccountOrGroup** protector is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding an SID-based protector for the Cluster Name Object (CNO) that lets the disk properly failover and unlock to any member computer of the cluster. +> [!WARNING] +> The SID-based protector requires the use of an additional protector such as TPM, PIN, recovery key, etc. when used on operating system volumes. -### Provisioning BitLocker during operating system deployment +To add an **ADAccountOrGroup** protector to a volume, either the domain SID is needed or the group name preceded by the domain and a backslash. In the example below, the **CONTOSO\\Administrator** account is added as a protector to the data volume G. -Administrators can enable BitLocker prior to operating system deployment from the Windows Pre-installation environment. Enabling BitLocker prior to the operating system deployment is done with a randomly generated clear key protector applied to the formatted volume and by encrypting the volume prior to running the Windows setup process. If the encryption uses the **Used Disk Space Only** option described later in this document, this step takes only a few seconds and incorporates well into regular deployment processes. +```powershell +Enable-BitLocker G: -AdAccountOrGroupProtector -AdAccountOrGroup CONTOSO\Administrator +``` -### Decrypting BitLocker volumes +For users who wish to use the SID for the account or group, the first step is to determine the SID associated with the account. To get the specific SID for a user account in Windows PowerShell, use the following command: -Decrypting volumes removes BitLocker and any associated protectors from the volumes. Decryption should occur when protection is no longer required. BitLocker decryption shouldn't occur as a troubleshooting step. BitLocker can be removed from a volume using the BitLocker control panel applet, `manage-bde.exe`, or Windows PowerShell cmdlets. We'll discuss each method further below. +```powershell +Get-ADUser -filter {samaccountname -eq "administrator"} +``` +> [!NOTE] +> Use of this command requires the RSAT-AD-PowerShell feature. -## PowerShell examples to move +> [!TIP] +> In addition to the Windows PowerShell command above, information about the locally logged on user and group membership can be found using: `WHOAMI /ALL`. This doesn't require the use of additional features. -For Azure AD-joined computers, including virtual machines, the recovery password should be stored in Azure AD. +In the example below, the user wishes to add a domain SID-based protector to the previously encrypted operating system volume. The user knows the SID for the user account or group they wish to add and uses the following command: + +```powershell +Add-BitLockerKeyProtector C: -ADAccountOrGroupProtector -ADAccountOrGroup "" +``` + +> [!NOTE] +> Active Directory-based protectors are normally used to unlock Failover Cluster-enabled volumes. + +For Azure AD-joined computers, the recovery password should be stored in Azure AD. **Example**: *Use PowerShell to add a recovery password and back it up to Azure AD before enabling BitLocker* @@ -638,4 +511,127 @@ Enable-BitLocker -MountPoint "D:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Tp $SecureString = ConvertTo-SecureString "123456" -AsPlainText -Force Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pin $SecureString -TPMandPinProtector -``` \ No newline at end of file +``` + + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + +Listed below are examples of basic valid commands for operating system volumes. In general, using only the `manage-bde.exe -on ` command will encrypt the operating system volume with a TPM-only protector and no recovery key. However, many environments require more secure protectors such as passwords or PIN and expect information recovery with a recovery key. It's recommended to add at least one primary protector plus a recovery protector to an operating system volume. + +The following example illustrates enabling BitLocker on a computer without a TPM chip. Before beginning the encryption process, the startup key needed for BitLocker must be created and saved to a USB drive. When BitLocker is enabled for the operating system volume, BitLocker will need to access the USB flash drive to obtain the encryption key. In this example, the drive letter E represents the USB drive. Once the commands are run, it will prompt to reboot the computer to complete the encryption process. + +```cmd +manage-bde.exe -protectors -add C: -startupkey E: +manage-bde.exe -on C: +``` + +> [!NOTE] +> After the encryption is completed, the USB startup key must be inserted before the operating system can be started. + +An alternative to the startup key protector on non-TPM hardware is to use a password and an **ADaccountorgroup** protector to protect the operating system volume. In this scenario, the protectors are added first. To add the protectors, enter the following command: + +```cmd +manage-bde.exe -protectors -add C: -pw -sid +``` + +The above command will require the password protector to be entered and confirmed before adding them to the volume. With the protectors enabled on the volume, BitLocker can then be turned on. + +On computers with a TPM, it's possible to encrypt the operating system volume without defining any protectors using `manage-bde.exe`. To enable BitLocker on a computer with a TPM without defining any protectors, enter the following command: + +```cmd +manage-bde.exe -on C: +``` + +The above command encrypts the drive using the TPM as the default protector. If verify if a TPM protector is available, the list of protectors available for a volume can be listed by running the following command: + +```cmd + manage-bde.exe -protectors -get +``` + + +Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: + +`manage-bde.exe -on ` + +or additional protectors can be added to the volume first. It's recommended to add at least one primary protector plus a recovery protector to a data volume. + +A common protector for a data volume is the password protector. In the example below, a password protector is added to the volume and then BitLocker is turned on. + +```cmd +manage-bde.exe -protectors -add -pw C: +manage-bde.exe -on C: +``` + + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) +--- + + + + + + + +### Decrypt volumes + +Decrypting volumes removes BitLocker and any associated protectors from the volumes. Decryption should occur when protection is no longer required, and not as a troubleshooting step. + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + + +Windows PowerShell offers the ability to decrypt multiple drives in one pass. In the example below, the user has three encrypted volumes, which they wish to decrypt. + +Using the Disable-BitLocker command, they can remove all protectors and encryption at the same time without the need for more commands. An example of this command is: + +```powershell +Disable-BitLocker +``` + +If a user didn't want to input each mount point individually, using the `-MountPoint` parameter in an array can sequence the same command into one line without requiring additional user input. An example command is: + +```powershell +Disable-BitLocker -MountPoint E:,F:,G: +``` + + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + +Decryption with `manage-bde.exe` offers the advantage of not requiring user confirmation to start the process. Manage-bde uses the -off command to start the decryption process. A sample command for decryption is: + +```powershell +manage-bde.exe -off C: +``` + +This command disables protectors while it decrypts the volume and removes all protectors when decryption is complete. If users wish to check the status of the decryption, they can use the following command: + +```powershell +manage-bde.exe -status C: +``` + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +BitLocker decryption using the control panel is done using a wizard. The control panel can be called from Windows Explorer or by opening it directly. After opening the BitLocker control panel, users will select the **Turn off BitLocker** option to begin the process. +After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to the control panel. + +The control panel doesn't report decryption progress but displays it in the notification area of the task bar. Selecting the notification area icon will open a modal dialog with progress. + +Once decryption is complete, the drive updates its status in the control panel and becomes available for encryption. + +--- + + + From 56f6c035dc46725808062d88b9ec4920b43fa17d Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 4 Oct 2023 09:59:06 -0400 Subject: [PATCH 073/505] updates --- ...delete_bitlocker-deployment-comparison.md} | 0 .../bitlocker-management-for-enterprises.md | 48 ----- .../data-protection/bitlocker/configure.md | 43 +++++ .../data-protection/bitlocker/manage.md | 169 ++++++------------ .../data-protection/bitlocker/toc.yml | 16 +- 5 files changed, 103 insertions(+), 173 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{bitlocker-deployment-comparison.md => _todelete_bitlocker-deployment-comparison.md} (100%) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md b/windows/security/operating-system-security/data-protection/bitlocker/_todelete_bitlocker-deployment-comparison.md similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md rename to windows/security/operating-system-security/data-protection/bitlocker/_todelete_bitlocker-deployment-comparison.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md deleted file mode 100644 index 3e06fa9225..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: BitLocker management -description: Refer to relevant documentation, products, and services to learn about managing BitLocker and see recommendations for different computers. -ms.topic: conceptual -ms.date: 11/08/2022 ---- - -# BitLocker management - -The ideal solution for BitLocker management is to eliminate the need for IT administrators to set management policies using tools or other mechanisms by having Windows perform tasks that are more practical to automate. This vision leverages modern hardware developments. The growth of TPM 2.0, secure boot, and other hardware improvements, for example, have helped to alleviate the support burden on help desks and a decrease in support-call volumes, yielding improved user satisfaction. Windows continues to be the focus for new features and improvements for built-in encryption management, such as automatically enabling encryption on devices that support Modern Standby beginning with Windows 8.1. - -Though much Windows [BitLocker documentation](index.md) has been published, customers frequently ask for recommendations and pointers to specific, task-oriented documentation that is both easy to digest and focused on how to deploy and manage BitLocker. This article links to relevant documentation, products, and services to help answer this and other related frequently asked questions, and also provides BitLocker recommendations for different types of computers. - -[!INCLUDE [bitlocker](../../../../../includes/licensing/bitlocker-management.md)] - -## Managing domain-joined computers and moving to cloud - -Companies that image their own computers using Configuration Manager can use an existing task sequence to [pre-provision BitLocker](/configmgr/osd/understand/task-sequence-steps#BKMK_PreProvisionBitLocker) encryption while in Windows Preinstallation Environment (WinPE) and can then [enable protection](/configmgr/osd/understand/task-sequence-steps#BKMK_EnableBitLocker). These steps during an operating system deployment can help ensure that computers are encrypted from the start, even before users receive them. As part of the imaging process, a company could also decide to use Configuration Manager to pre-set any desired [BitLocker policy settings](policy-settings.md). - -Enterprises can use [Microsoft BitLocker Administration and Monitoring (MBAM)](/microsoft-desktop-optimization-pack/mbam-v25/) to manage client computers with BitLocker that are domain-joined on-premises until [mainstream support ends in July 2019](/lifecycle/products/?alpha=Microsoft%20BitLocker%20Administration%20and%20Monitoring%202.5%20Service%20Pack%201%2F) or they can receive extended support until April 2026. Thus, over the next few years, a good strategy for enterprises will be to plan and move to cloud-based management for BitLocker. Refer to the [PowerShell examples](#powershell-examples) to see how to store recovery keys in Azure Active Directory (Azure AD). - -> [!IMPORTANT] -> Microsoft BitLocker Administration and Monitoring (MBAM) capabilities are offered through Configuration Manager BitLocker Management. See [Plan for BitLocker management](/mem/configmgr/protect/plan-design/bitlocker-management) in the Configuration Manager documentation for additional information. - -## Managing devices joined to Azure Active Directory - -Devices joined to Azure AD are managed using Mobile Device Management (MDM) policy from an MDM solution such as Microsoft Intune. Prior to Windows 10, version 1809, only local administrators can enable BitLocker via Intune policy. Starting with Windows 10, version 1809, Intune can enable BitLocker for standard users. [BitLocker Device Encryption](bitlocker-device-encryption.md) status can be queried from managed machines via the [Policy Configuration Settings Provider (CSP)](/windows/client-management/mdm/policy-configuration-service-provider/), which reports on whether BitLocker Device Encryption is enabled on the device. Compliance with BitLocker Device Encryption policy can be a requirement for [Conditional Access](https://www.microsoft.com/cloud-platform/conditional-access/) to services like Exchange Online and SharePoint Online. - -Starting with Windows 10 version 1703, the enablement of BitLocker can be triggered over MDM either by the [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider/) or the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/). The BitLocker CSP adds policy options that go beyond ensuring that encryption has occurred, and is available on computers that run Windows 11, Windows 10, and on Windows phones. - -For hardware that is compliant with Modern Standby and HSTI, when using either of these features, [BitLocker Device Encryption](bitlocker-device-encryption.md) is automatically turned on whenever the user joins a device to Azure AD. Azure AD provides a portal where recovery keys are also backed up, so users can retrieve their own recovery key for self-service, if necessary. For older devices that aren't yet encrypted, beginning with Windows 10 version 1703, admins can use the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/) to trigger encryption and store the recovery key in Azure AD. This process and feature is applicable to Azure Hybrid AD as well. - -## Managing workplace-joined PCs and phones - -For Windows PCs and Windows Phones that are enrolled using **Connect to work or school account**, BitLocker Device Encryption is managed over MDM, the same as devices joined to Azure AD. - -## Manage servers - -Servers are often installed, configured, and deployed using PowerShell; therefore, the recommendation is to also use [PowerShell to enable BitLocker on a server](manage.md#bitlocker-cmdlets-for-windows-powershell), ideally as part of the initial setup. BitLocker is an Optional Component (OC) in Windows Server; therefore, follow the directions in [BitLocker: How to deploy on Windows Server 2012 and later](bitlocker-how-to-deploy-on-windows-server.md) to add the BitLocker OC. - -The Minimal Server Interface is a prerequisite for some of the BitLocker administration tools. On a [Server Core](/windows-server/get-started/getting-started-with-server-core/) installation, the necessary GUI components must be added first. The steps to add shell components to Server Core are described in [Using Features on Demand with Updated Systems and Patched Images](/archive/blogs/server_core/using-features-on-demand-with-updated-systems-and-patched-images) and [How to update local source media to add roles and features](/archive/blogs/joscon/how-to-update-local-source-media-to-add-roles-and-features). - -If a server is being installed manually, such as a stand-alone server, then choosing [Server with Desktop Experience](/windows-server/get-started/getting-started-with-server-with-desktop-experience/) is the easiest path because it avoids performing the steps to add a GUI to Server Core. - - Additionally, lights-out data centers can take advantage of the enhanced security of a second factor while avoiding the need for user intervention during reboots by optionally using a combination of BitLocker (TPM+PIN) and BitLocker Network Unlock. BitLocker Network Unlock brings together the best of hardware protection, location dependence, and automatic unlock, while in the trusted location. For the configuration steps, see [BitLocker: How to enable Network Unlock](network-unlock.md). - For more information, see the BitLocker FAQs article and other useful links in [Related Articles](#related-articles). - - diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index d2219c5cdd..f60b0f179a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -65,3 +65,46 @@ To enable Credential Guard, you can use: ### Disable Credential Guard with registry settings ## Next steps + + +# BitLocker management + +The ideal solution for BitLocker management is to eliminate the need for IT administrators to set management policies using tools or other mechanisms by having Windows perform tasks that are more practical to automate. This vision leverages modern hardware developments. The growth of TPM 2.0, secure boot, and other hardware improvements, for example, have helped to alleviate the support burden on help desks and a decrease in support-call volumes, yielding improved user satisfaction. Windows continues to be the focus for new features and improvements for built-in encryption management, such as automatically enabling encryption on devices that support Modern Standby beginning with Windows 8.1. + +Though much Windows [BitLocker documentation](index.md) has been published, customers frequently ask for recommendations and pointers to specific, task-oriented documentation that is both easy to digest and focused on how to deploy and manage BitLocker. This article links to relevant documentation, products, and services to help answer this and other related frequently asked questions, and also provides BitLocker recommendations for different types of computers. + +[!INCLUDE [bitlocker](../../../../../includes/licensing/bitlocker-management.md)] + +## Managing domain-joined computers and moving to cloud + +Companies that image their own computers using Configuration Manager can use an existing task sequence to [pre-provision BitLocker](/configmgr/osd/understand/task-sequence-steps#BKMK_PreProvisionBitLocker) encryption while in Windows Preinstallation Environment (WinPE) and can then [enable protection](/configmgr/osd/understand/task-sequence-steps#BKMK_EnableBitLocker). These steps during an operating system deployment can help ensure that computers are encrypted from the start, even before users receive them. As part of the imaging process, a company could also decide to use Configuration Manager to pre-set any desired [BitLocker policy settings](policy-settings.md). + +Enterprises can use [Microsoft BitLocker Administration and Monitoring (MBAM)](/microsoft-desktop-optimization-pack/mbam-v25/) to manage client computers with BitLocker that are domain-joined on-premises until [mainstream support ends in July 2019](/lifecycle/products/?alpha=Microsoft%20BitLocker%20Administration%20and%20Monitoring%202.5%20Service%20Pack%201%2F) or they can receive extended support until April 2026. Thus, over the next few years, a good strategy for enterprises will be to plan and move to cloud-based management for BitLocker. Refer to the [PowerShell examples](#powershell-examples) to see how to store recovery keys in Azure Active Directory (Azure AD). + +> [!IMPORTANT] +> Microsoft BitLocker Administration and Monitoring (MBAM) capabilities are offered through Configuration Manager BitLocker Management. See [Plan for BitLocker management](/mem/configmgr/protect/plan-design/bitlocker-management) in the Configuration Manager documentation for additional information. + +## Managing devices joined to Azure Active Directory + +Devices joined to Azure AD are managed using Mobile Device Management (MDM) policy from an MDM solution such as Microsoft Intune. Prior to Windows 10, version 1809, only local administrators can enable BitLocker via Intune policy. Starting with Windows 10, version 1809, Intune can enable BitLocker for standard users. [BitLocker Device Encryption](bitlocker-device-encryption.md) status can be queried from managed machines via the [Policy Configuration Settings Provider (CSP)](/windows/client-management/mdm/policy-configuration-service-provider/), which reports on whether BitLocker Device Encryption is enabled on the device. Compliance with BitLocker Device Encryption policy can be a requirement for [Conditional Access](https://www.microsoft.com/cloud-platform/conditional-access/) to services like Exchange Online and SharePoint Online. + +Starting with Windows 10 version 1703, the enablement of BitLocker can be triggered over MDM either by the [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider/) or the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/). The BitLocker CSP adds policy options that go beyond ensuring that encryption has occurred, and is available on computers that run Windows 11, Windows 10, and on Windows phones. + +For hardware that is compliant with Modern Standby and HSTI, when using either of these features, [BitLocker Device Encryption](bitlocker-device-encryption.md) is automatically turned on whenever the user joins a device to Azure AD. Azure AD provides a portal where recovery keys are also backed up, so users can retrieve their own recovery key for self-service, if necessary. For older devices that aren't yet encrypted, beginning with Windows 10 version 1703, admins can use the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/) to trigger encryption and store the recovery key in Azure AD. This process and feature is applicable to Azure Hybrid AD as well. + +## Managing workplace-joined PCs and phones + +For Windows PCs and Windows Phones that are enrolled using **Connect to work or school account**, BitLocker Device Encryption is managed over MDM, the same as devices joined to Azure AD. + +## Manage servers + +Servers are often installed, configured, and deployed using PowerShell; therefore, the recommendation is to also use [PowerShell to enable BitLocker on a server](manage.md#bitlocker-cmdlets-for-windows-powershell), ideally as part of the initial setup. BitLocker is an Optional Component (OC) in Windows Server; therefore, follow the directions in [BitLocker: How to deploy on Windows Server 2012 and later](bitlocker-how-to-deploy-on-windows-server.md) to add the BitLocker OC. + +The Minimal Server Interface is a prerequisite for some of the BitLocker administration tools. On a [Server Core](/windows-server/get-started/getting-started-with-server-core/) installation, the necessary GUI components must be added first. The steps to add shell components to Server Core are described in [Using Features on Demand with Updated Systems and Patched Images](/archive/blogs/server_core/using-features-on-demand-with-updated-systems-and-patched-images) and [How to update local source media to add roles and features](/archive/blogs/joscon/how-to-update-local-source-media-to-add-roles-and-features). + +If a server is being installed manually, such as a stand-alone server, then choosing [Server with Desktop Experience](/windows-server/get-started/getting-started-with-server-with-desktop-experience/) is the easiest path because it avoids performing the steps to add a GUI to Server Core. + + Additionally, lights-out data centers can take advantage of the enhanced security of a second factor while avoiding the need for user intervention during reboots by optionally using a combination of BitLocker (TPM+PIN) and BitLocker Network Unlock. BitLocker Network Unlock brings together the best of hardware protection, location dependence, and automatic unlock, while in the trusted location. For the configuration steps, see [BitLocker: How to enable Network Unlock](network-unlock.md). + For more information, see the BitLocker FAQs article and other useful links in [Related Articles](#related-articles). + + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md index 692b35f2c0..55ab9fb0ba 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -1,32 +1,39 @@ --- -title: BitLocker common operations -description: Learn how to use different tools to operate BitLocker in your organization. +title: BitLocker management tools +description: Learn how to use different tools to operate BitLocker. ms.collection: - tier1 ms.topic: how-to ms.date: 07/25/2023 --- -# BitLocker common operations +# BitLocker management tools -There are differnt tools and options to operate BitLocker: +There are differnt tools and options to manage and operate BitLocker: -- the BitLocker drive encryption tools include the two command-line tools *manage-bde.exe* and *repair-bde.exe* - the BitLocker PowerShell module +- the BitLocker drive encryption tools - Control Panel -The BitLocker drive encryption tools and BitLocker PowerShell module can be used to perform any tasks that can be accomplished through the BitLocker control panel. They are appropriate to use for automated deployments and other scripting scenarios. +The BitLocker drive encryption tools and BitLocker PowerShell module can be used to perform any tasks that can be accomplished through the BitLocker control panel. They are appropriate to use for automated deployments and other scripting scenarios.\ +The BitLocker Control Panel applet allows users to perform basic tasks such as turning on BitLocker on a drive and specifying unlock methods and authentication methods. The BitLocker Control Panel applet is appropriate to use for basic BitLocker tasks. -Manage-bde is a command-line tool that can be used for scripting BitLocker operations. Manage-bde offers additional options not displayed in the BitLocker control panel. For a complete list of the `manage-bde.exe` options, see the [Manage-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) command-line reference. Manage-bde includes fewer default settings and requires greater customization for configuring BitLocker. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed because an authentication method needs to be added to the volume for it to be fully protected. The following sections provide examples of common usage scenarios for manage-bde. +This article describes the BitLocker management tools and how to use them, providing practical examples. +## BitLocker PowerShell module -## BitLocker Repair Tool +The BitLocker PowerShell module enables administrators to integrate BitLocker options into existing scripts with ease. For a list of cmdlets included in module, their description and syntax, che the [BitLocker PowerShell reference article](/powershell/module/bitlocker). -Hard disk areas on which BitLocker stores critical information could be damaged, for example, when a hard disk fails or if Windows exits unexpectedly. +## BitLocker drive encryption tools -The BitLocker Repair Tool (*repair-bde.exe*) is useful for disaster recovery scenarios, in which a BitLocker protected drive can't be unlocked normally or using the recovery console. +The BitLocker drive encryption tools include the two command-line tools: -The Repair Tool can reconstruct critical parts of the drive and salvage recoverable data, as long as a valid recovery password or recovery key is used to decrypt the data. If the BitLocker metadata data on the drive is corrupt, the backup key package in addition to the recovery password or recovery key must be supplied. The key package is backed up in Active Directory Domain Services (AD DS) if the default settings for AD DS backup are used. With the key package and either the recovery password or recovery key, portions of a corrupted BitLocker-protected drive can be decrypted. Each key package works only for a drive that has the corresponding drive identifier. The BitLocker Recovery Password Viewer can be used to obtain this key package from AD DS. +- *Configuration Tool* (`manage-bde.exe`) can be used for scripting BitLocker operations, offering options that aren't present in the BitLocker Control Panel applet. For a complete list of the `manage-bde.exe` options, see the [Manage-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) command-line reference +- *Repair Tool* (`repair-bde.exe`) is useful for disaster recovery scenarios, in which a BitLocker protected drive can't be unlocked normally or using the recovery console + +### Repair tool + +The Repair Tool can reconstruct critical parts of the drive and salvage recoverable data, as long as a valid recovery password or recovery key is used to decrypt the data. If the BitLocker metadata data on the drive is corrupt, the backup key package in addition to the recovery password or recovery key must be supplied. With the key package and either the recovery password or recovery key, portions of a corrupted BitLocker-protected drive can be decrypted. Each key package works only for a drive that has the corresponding drive identifier > [!TIP] > If recovery information is not backed up to AD DS or if key packages need to be saved in an alternative way, use the following command to generate a key package for a volume: @@ -44,37 +51,11 @@ The Repair Tool is intended for use when the operating system doesn't start or w The following limitations exist for Repair-bde: -- The Repair-bde command-line tool can't repair a drive that failed during the encryption or decryption process. - -- The Repair-bde command-line tool assumes that if the drive has any encryption, then the drive has been fully encrypted. +- it can't repair a drive that failed during the encryption or decryption process +- it assumes that if the drive has any encryption, then the drive is fully encrypted For more information about using repair-bde, see [Repair-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829851(v=ws.11)). -## BitLocker PowerShell module - -Using the BitLocker Windows PowerShell cmdlets is similar to working with the manage-bde tool for encrypting operating system volumes. Windows PowerShell offers users flexibility. For example, users can add the desired protector as part command for encrypting the volume. - - -The BitLocker PowerShell module enables administrators to integrate BitLocker options into existing scripts with ease. Here's a lists of the cmdlets included in the BitLocker PowerShell module: - -- `Add-BitLockerKeyProtector` -- `Backup-BitLockerKeyProtector` -- `BackupToAAD-BitLockerKeyProtector` -- `Clear-BitLockerAutoUnlock` -- `Disable-BitLocker` -- `Disable-BitLockerAutoUnlock` -- `Enable-BitLocker` -- `Enable-BitLockerAutoUnlock` -- `Get-BitLockerVolume` -- `Lock-BitLocker` -- `Remove-BitLockerKeyProtector` -- `Resume-BitLocker` -- `Suspend-BitLocker` -- `Unlock-BitLocker` - - - - ## Using BitLocker to encrypt volumes BitLocker provides full volume encryption (FVE) for operating system volumes, and fixed and removable data drives. To support fully encrypted operating system drives, BitLocker uses an unencrypted system partition for the files required to boot, decrypt, and load the operating system. This volume is automatically created during a new installation of both client and server operating systems. @@ -84,25 +65,17 @@ If the drive was prepared as a single contiguous space, BitLocker requires a new > [!NOTE] > For more info about using this tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. - - `Manage-bde.exe` is a command-line utility that can be used for scripting BitLocker operations. `Manage-bde.exe` offers additional options not displayed in the BitLocker control panel. For a complete list of the options, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). `Manage-bde.exe` offers a multitude of wider options for configuring BitLocker. Using the command syntax may require care. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed. For the volume to be fully protected, an authentication method needs to also be added to the volume in addition to running the `manage-bde.exe`command. Command-line users need to determine the appropriate syntax for a given situation. The following section covers general encryption for operating system volumes and data volumes. +## Example: check the BitLocker status -## Provisioning BitLocker during operating system deployment +To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLocker control panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. -Administrators can enable BitLocker prior to operating system deployment from the Windows Pre-installation environment. Enabling BitLocker prior to the operating system deployment is done with a randomly generated clear key protector applied to the formatted volume and by encrypting the volume prior to running the Windows setup process. If the encryption uses the **Used Disk Space Only** option described later in this document, this step takes only a few seconds and incorporates well into regular deployment processes. - - -## Check BitLocker status - -Follow the instructions below verify the status of BitLocker, selecting the option that best suits your needs. - -To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLocker control panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. We'll look at each of the available methods in the following section. +Follow the instructions below verify the status of BitLocker, selecting the tool of your choice. #### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) @@ -127,14 +100,13 @@ CapacityGB : 1000 KeyProtector : {Tpm, RecoveryPassword} ``` - #### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) -A good practice when using `manage-bde.exe` is to determine the volume status on the target system. Use the following command to determine volume status: +With `manage-bde.exe` you can determine the volume status on the target system, for example: `manage-bde.exe -status` -This command returns the volumes on the target, current encryption status, encryption method, and volume type (operating system or data) for each volume. Using this information, users can determine the best encryption method for their environment. +This command returns the volumes on the target, current encryption status, encryption method, and volume type (operating system or data) for each volume. ```cmd C:\>manage-bde -status @@ -157,7 +129,7 @@ Volume C: [Local Disk] #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) -Checking BitLocker status with the control panel is the most common method used by most users. Once opened, the status for each volume is displayed next to the volume description and drive letter. Available status return values with the control panel include: +Checking BitLocker status with the control panel is a common method used by most users. Once opened, the status for each volume is displayed next to the volume description and drive letter. Available status return values with applet include: | Status | Description | | - | - | @@ -166,21 +138,11 @@ Checking BitLocker status with the control panel is the most common method used | **Suspended** | BitLocker is suspended and not actively protecting the volume | | **Waiting for Activation**| BitLocker is enabled with a clear protector key and requires further action to be fully protected| -If a drive is pre-provisioned with BitLocker, a status of "Waiting for Activation" displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, `manage-bde.exe` tool, or WMI APIs to add an appropriate key protector. Once complete, the control panel will update to reflect the new status. - -Using the control panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. -The drive security window displays prior to changing the volume status. Selecting **Activate BitLocker** will complete the encryption process. - -Once BitLocker protector activation is completed, the completion notice is displayed. +If a drive is pre-provisioned with BitLocker, a status of **Waiting for Activation** displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, PowerShell or `manage-bde.exe` tool to add an appropriate key protector. Once complete, the Control Panel will update to reflect the new status. --- - - - - - -## Enable BitLocker +## Example: enable BitLocker #### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) @@ -190,7 +152,7 @@ The following example shows how to enable BitLocker on an operating system drive Enable-BitLocker C: ``` -In the example below, adds one additional protector, the StartupKey protector and chooses to skip the BitLocker hardware test. In this example, encryption starts immediately without the need for a reboot. +In the next example, we add one more protector, the *StartupKey* protector, and choose to skip the BitLocker hardware test. Encryption starts immediately without the need for a reboot: ```powershell Enable-BitLocker C: -StartupKeyProtector -StartupKeyPath -SkipHardwareTest @@ -198,20 +160,9 @@ Enable-BitLocker C: -StartupKeyProtector -StartupKeyPath -SkipHardwareTes #### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) -Listed below are examples of basic valid commands for operating system volumes. In general, using only the `manage-bde.exe -on ` command encrypts the operating system volume with a TPM-only protector and no recovery key. However, many environments require more secure protectors such as passwords or PIN and expect to be able to recover information with a recovery key. +Using only the `manage-bde.exe -on ` command encrypts the operating system volume with a TPM-only protector and no recovery key. However, you may require more secure protectors such as passwords or PIN, and expect to be able to recover information with a recovery key. -### Enabling BitLocker without a TPM - -Suppose BitLocker is desired on a computer without a TPM. In this scenario, a USB flash drive is needed as a startup key for the operating system volume. The startup key will then allow the computer to boot. To create the startup key using `manage-bde.exe`, the `-protectors` switch would be used specifying the `-startupkey` option. Assuming the USB flash drive is drive letter `E:`, then the following `manage-bde.exe` commands would be used t create the startup key and start the BitLocker encryption: - -```powershell -manage-bde.exe -protectors -add C: -startupkey E: -manage-bde.exe -on C: -``` - -If prompted, reboot the computer to complete the encryption process. - -### Enabling BitLocker with a TPM only +### Enable BitLocker with a TPM only It's possible to encrypt the operating system volume without any defined protectors by using `manage-bde.exe`. Use this command: @@ -235,6 +186,23 @@ manage-bde.exe -protectors -add C: -pw -sid This command requires the user to enter and then confirm the password protectors before adding them to the volume. With the protectors enabled on the volume, the user just needs to turn on BitLocker. +A common protector for a data volume is the password protector. In the next example, a password protector is added to the volume and turn on BitLocker. + +```powershell +manage-bde.exe -protectors -add -pw C: +manage-bde.exe -on C: +``` +### Enabling BitLocker without a TPM + +Suppose BitLocker is desired on a computer without a TPM. In this scenario, a USB flash drive is needed as a startup key for the operating system volume. The startup key will then allow the computer to boot. To create the startup key using `manage-bde.exe`, the `-protectors` switch would be used specifying the `-startupkey` option. Assuming the USB flash drive is drive letter `E:`, then the following `manage-bde.exe` commands would be used t create the startup key and start the BitLocker encryption: + +```powershell +manage-bde.exe -protectors -add C: -startupkey E: +manage-bde.exe -on C: +``` + +If prompted, reboot the computer to complete the encryption process. + ### Data volume commands Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: @@ -245,17 +213,6 @@ manage-bde.exe -on Or users can choose to add protectors to the volume. It is recommended to add at least one primary protector and a recovery protector to a data volume. -### Enabling BitLocker with a password - -A common protector for a data volume is the password protector. In the example below, a password protector is added to the volume and turn on BitLocker. - -```powershell -manage-bde.exe -protectors -add -pw C: -manage-bde.exe -on C: -``` - - - #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) Encrypting volumes with the BitLocker control panel (select **Start**, enter `BitLocker`, select **Manage BitLocker**) is how many users will use BitLocker. The name of the BitLocker control panel is BitLocker Drive Encryption. The BitLocker control panel supports encrypting operating system, fixed data, and removable data volumes. The BitLocker control panel will organize available drives in the appropriate category based on how the device reports itself to Windows. Only formatted volumes with assigned drive letters will appear properly in the BitLocker control panel applet. @@ -564,21 +521,21 @@ manage-bde.exe -on C: #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +Using the control panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. +The drive security window displays prior to changing the volume status. Selecting **Activate BitLocker** will complete the encryption process. + +Once BitLocker protector activation is completed, the completion notice is displayed. + --- - - - - - ### Decrypt volumes Decrypting volumes removes BitLocker and any associated protectors from the volumes. Decryption should occur when protection is no longer required, and not as a troubleshooting step. #### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) - Windows PowerShell offers the ability to decrypt multiple drives in one pass. In the example below, the user has three encrypted volumes, which they wish to decrypt. Using the Disable-BitLocker command, they can remove all protectors and encryption at the same time without the need for more commands. An example of this command is: @@ -593,7 +550,6 @@ If a user didn't want to input each mount point individually, using the `-MountP Disable-BitLocker -MountPoint E:,F:,G: ``` - #### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) Decryption with `manage-bde.exe` offers the advantage of not requiring user confirmation to start the process. Manage-bde uses the -off command to start the decryption process. A sample command for decryption is: @@ -618,20 +574,3 @@ The control panel doesn't report decryption progress but displays it in the noti Once decryption is complete, the drive updates its status in the control panel and becomes available for encryption. --- - - - diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index f5c3fca696..b17885fcf8 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -3,22 +3,18 @@ items: href: index.md - name: BitLocker countermeasures href: countermeasures.md -- name: Deployment guides - items: - - name: Plan for a BitLocker deployment - href: plan.md - - name: Configure BitLocker - href: configure.md - - name: BitLocker deployment comparison - href: bitlocker-deployment-comparison.md +- name: Plan for a BitLocker deployment + href: plan.md - name: BitLocker device encryption href: bitlocker-device-encryption.md - name: How-to guides items: - - name: Manage BitLocker in your organization - href: bitlocker-management-for-enterprises.md + - name: Configure BitLocker + href: configure.md - name: Configure BitLocker on Windows Server href: bitlocker-how-to-deploy-on-windows-server.md + - name: BitLocker management tools + href: manage.md - name: Manage BitLocker with Drive Encryption Tools href: manage.md - name: BitLocker Recovery Guide From 184c5d8fa243beaf83e7f4ff281c5148d81ee1a2 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 4 Oct 2023 10:47:43 -0400 Subject: [PATCH 074/505] updates --- ...-windows-server.md => configure-server.md} | 0 .../data-protection/bitlocker/configure.md | 16 +++--- .../data-protection/bitlocker/manage.md | 50 ++----------------- .../{recovery.md => recovery-guide.md} | 0 .../data-protection/bitlocker/toc.yml | 10 ++-- 5 files changed, 15 insertions(+), 61 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{bitlocker-how-to-deploy-on-windows-server.md => configure-server.md} (100%) rename windows/security/operating-system-security/data-protection/bitlocker/{recovery.md => recovery-guide.md} (100%) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-deploy-on-windows-server.md b/windows/security/operating-system-security/data-protection/bitlocker/configure-server.md similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-deploy-on-windows-server.md rename to windows/security/operating-system-security/data-protection/bitlocker/configure-server.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index f60b0f179a..89f023a5cd 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -36,8 +36,6 @@ This article describes how to configure Credential Guard using Microsoft Intune, ## Enable Credential Guard -Credential Guard should be enabled before a device is joined to a domain or before a domain user signs in for the first time. If Credential Guard is enabled after domain join, the user and device secrets may already be compromised. - To enable Credential Guard, you can use: - Microsoft Intune/MDM @@ -69,9 +67,9 @@ To enable Credential Guard, you can use: # BitLocker management -The ideal solution for BitLocker management is to eliminate the need for IT administrators to set management policies using tools or other mechanisms by having Windows perform tasks that are more practical to automate. This vision leverages modern hardware developments. The growth of TPM 2.0, secure boot, and other hardware improvements, for example, have helped to alleviate the support burden on help desks and a decrease in support-call volumes, yielding improved user satisfaction. Windows continues to be the focus for new features and improvements for built-in encryption management, such as automatically enabling encryption on devices that support Modern Standby beginning with Windows 8.1. +The ideal solution for BitLocker management is to eliminate the need for IT administrators to set management policies using tools or other mechanisms by having Windows perform tasks that are more practical to automate. The growth of TPM 2.0, secure boot, and other hardware improvements, for example, have helped to alleviate the support burden on help desks and a decrease in support-call volumes, yielding improved user satisfaction. -Though much Windows [BitLocker documentation](index.md) has been published, customers frequently ask for recommendations and pointers to specific, task-oriented documentation that is both easy to digest and focused on how to deploy and manage BitLocker. This article links to relevant documentation, products, and services to help answer this and other related frequently asked questions, and also provides BitLocker recommendations for different types of computers. + This article links to relevant documentation, products, and services to help answer frequently asked questions, and also provides BitLocker recommendations for different types of computers. [!INCLUDE [bitlocker](../../../../../includes/licensing/bitlocker-management.md)] @@ -84,17 +82,17 @@ Enterprises can use [Microsoft BitLocker Administration and Monitoring (MBAM)](/ > [!IMPORTANT] > Microsoft BitLocker Administration and Monitoring (MBAM) capabilities are offered through Configuration Manager BitLocker Management. See [Plan for BitLocker management](/mem/configmgr/protect/plan-design/bitlocker-management) in the Configuration Manager documentation for additional information. -## Managing devices joined to Azure Active Directory +## Manage Microsoft Entra joined devices Devices joined to Azure AD are managed using Mobile Device Management (MDM) policy from an MDM solution such as Microsoft Intune. Prior to Windows 10, version 1809, only local administrators can enable BitLocker via Intune policy. Starting with Windows 10, version 1809, Intune can enable BitLocker for standard users. [BitLocker Device Encryption](bitlocker-device-encryption.md) status can be queried from managed machines via the [Policy Configuration Settings Provider (CSP)](/windows/client-management/mdm/policy-configuration-service-provider/), which reports on whether BitLocker Device Encryption is enabled on the device. Compliance with BitLocker Device Encryption policy can be a requirement for [Conditional Access](https://www.microsoft.com/cloud-platform/conditional-access/) to services like Exchange Online and SharePoint Online. -Starting with Windows 10 version 1703, the enablement of BitLocker can be triggered over MDM either by the [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider/) or the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/). The BitLocker CSP adds policy options that go beyond ensuring that encryption has occurred, and is available on computers that run Windows 11, Windows 10, and on Windows phones. +The enablement of BitLocker can be triggered over MDM either by the [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider/) or the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/). The BitLocker CSP adds policy options that go beyond ensuring that encryption has occurred. -For hardware that is compliant with Modern Standby and HSTI, when using either of these features, [BitLocker Device Encryption](bitlocker-device-encryption.md) is automatically turned on whenever the user joins a device to Azure AD. Azure AD provides a portal where recovery keys are also backed up, so users can retrieve their own recovery key for self-service, if necessary. For older devices that aren't yet encrypted, beginning with Windows 10 version 1703, admins can use the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/) to trigger encryption and store the recovery key in Azure AD. This process and feature is applicable to Azure Hybrid AD as well. +For hardware that is compliant with Modern Standby and HSTI, when using either of these features, [BitLocker Device Encryption](bitlocker-device-encryption.md) is automatically turned on whenever the user joins a device to Azure AD. Azure AD provides a portal where recovery keys are also backed up, so users can retrieve their own recovery key for self-service, if necessary. -## Managing workplace-joined PCs and phones +## Manage Microsoft Entra registered devices -For Windows PCs and Windows Phones that are enrolled using **Connect to work or school account**, BitLocker Device Encryption is managed over MDM, the same as devices joined to Azure AD. +For Windows devices that are enrolled using **Connect to work or school account**, BitLocker Device Encryption is managed over MDM, the same as Microsoft Entra ID joined devices. ## Manage servers diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md index 55ab9fb0ba..8bbfb3d20d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -28,7 +28,7 @@ The BitLocker PowerShell module enables administrators to integrate BitLocker op The BitLocker drive encryption tools include the two command-line tools: -- *Configuration Tool* (`manage-bde.exe`) can be used for scripting BitLocker operations, offering options that aren't present in the BitLocker Control Panel applet. For a complete list of the `manage-bde.exe` options, see the [Manage-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) command-line reference +- *Configuration Tool* (`manage-bde.exe`) can be used for scripting BitLocker operations, offering options that aren't present in the BitLocker Control Panel applet. For a complete list of the `manage-bde.exe` options, see the [Manage-bde reference](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) - *Repair Tool* (`repair-bde.exe`) is useful for disaster recovery scenarios, in which a BitLocker protected drive can't be unlocked normally or using the recovery console ### Repair tool @@ -54,22 +54,7 @@ The following limitations exist for Repair-bde: - it can't repair a drive that failed during the encryption or decryption process - it assumes that if the drive has any encryption, then the drive is fully encrypted -For more information about using repair-bde, see [Repair-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829851(v=ws.11)). - -## Using BitLocker to encrypt volumes - -BitLocker provides full volume encryption (FVE) for operating system volumes, and fixed and removable data drives. To support fully encrypted operating system drives, BitLocker uses an unencrypted system partition for the files required to boot, decrypt, and load the operating system. This volume is automatically created during a new installation of both client and server operating systems. - -If the drive was prepared as a single contiguous space, BitLocker requires a new volume to hold the boot files. BdeHdCfg.exe can create these volumes. - -> [!NOTE] -> For more info about using this tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. - -`Manage-bde.exe` is a command-line utility that can be used for scripting BitLocker operations. `Manage-bde.exe` offers additional options not displayed in the BitLocker control panel. For a complete list of the options, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -`Manage-bde.exe` offers a multitude of wider options for configuring BitLocker. Using the command syntax may require care. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed. For the volume to be fully protected, an authentication method needs to also be added to the volume in addition to running the `manage-bde.exe`command. - -Command-line users need to determine the appropriate syntax for a given situation. The following section covers general encryption for operating system volumes and data volumes. +For a complete list of the `repair-bde.exe` options, see the [Repair-bde reference](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829851(v=ws.11)). ## Example: check the BitLocker status @@ -336,30 +321,9 @@ Users can verify whether the recovery key was saved properly by checking OneDriv Windows Explorer allows users to launch the **BitLocker Drive Encryption Wizard** by right-clicking a volume and selecting **Turn On BitLocker**. This option is available on client computers by default. On servers, the BitLocker feature and the Desktop-Experience feature must first be installed for this option to be available. After selecting **Turn on BitLocker**, the wizard works exactly as it does when launched using the BitLocker control panel. - --- - - - - - - - - - - - - - - - - - - - - -## Manage BitLocker protectors +## Example: manage BitLocker protectors Follow the instructions below manage BitLocker protectors, selecting the option that best suits your needs. @@ -396,8 +360,6 @@ Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw > [!NOTE] > The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. - - The **ADAccountOrGroup** protector is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding an SID-based protector for the Cluster Name Object (CNO) that lets the disk properly failover and unlock to any member computer of the cluster. > [!WARNING] @@ -470,7 +432,6 @@ $SecureString = ConvertTo-SecureString "123456" -AsPlainText -Force Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pin $SecureString -TPMandPinProtector ``` - #### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) Listed below are examples of basic valid commands for operating system volumes. In general, using only the `manage-bde.exe -on ` command will encrypt the operating system volume with a TPM-only protector and no recovery key. However, many environments require more secure protectors such as passwords or PIN and expect information recovery with a recovery key. It's recommended to add at least one primary protector plus a recovery protector to an operating system volume. @@ -505,7 +466,6 @@ The above command encrypts the drive using the TPM as the default protector. If manage-bde.exe -protectors -get ``` - Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: `manage-bde.exe -on ` @@ -519,7 +479,6 @@ manage-bde.exe -protectors -add -pw C: manage-bde.exe -on C: ``` - #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) Using the control panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. @@ -529,8 +488,7 @@ Once BitLocker protector activation is completed, the completion notice is displ --- - -### Decrypt volumes +## Example: decrypt volumes Decrypting volumes removes BitLocker and any associated protectors from the volumes. Decryption should occur when protection is no longer required, and not as a troubleshooting step. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/recovery.md rename to windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index b17885fcf8..7ba28e45db 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -12,19 +12,17 @@ items: - name: Configure BitLocker href: configure.md - name: Configure BitLocker on Windows Server - href: bitlocker-how-to-deploy-on-windows-server.md + href: configure-server.md - name: BitLocker management tools href: manage.md - - name: Manage BitLocker with Drive Encryption Tools - href: manage.md - - name: BitLocker Recovery Guide - href: bitlocker-recovery-guide-plan.md - name: Protect cluster shared volumes and storage area networks with BitLocker href: csv-san.md - name: Network Unlock href: network-unlock.md + - name: BitLocker Recovery Guide + href: recovery-guide.md - name: BitLocker Recovery Password Viewer - href: bitlocker-use-bitlocker-recovery-password-viewer.md + href: recovery-password-viewer.md - name: Reference items: - name: BitLocker policy settings From 02b402b5b7acb8284dea560c738c7df453fe0c1b Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 4 Oct 2023 10:55:30 -0400 Subject: [PATCH 075/505] updates --- .../bitlocker/{configure-server.md => enable-server.md} | 2 +- .../data-protection/bitlocker/toc.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{configure-server.md => enable-server.md} (99%) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure-server.md b/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md similarity index 99% rename from windows/security/operating-system-security/data-protection/bitlocker/configure-server.md rename to windows/security/operating-system-security/data-protection/bitlocker/enable-server.md index 0f6c4d617f..2b23898a94 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure-server.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md @@ -5,7 +5,7 @@ ms.topic: conceptual ms.date: 11/08/2022 --- -# BitLocker: How to deploy on Windows Server +# Enable BitLocker on Windows Server This article explains how to deploy BitLocker on Windows Server. For all Windows Server editions, BitLocker can be installed using Server Manager or Windows PowerShell cmdlets. BitLocker requires administrator privileges on the server on which it's to be installed. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index 7ba28e45db..4a73917765 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -9,10 +9,10 @@ items: href: bitlocker-device-encryption.md - name: How-to guides items: + - name: Enable BitLocker on Windows Server + href: enable-server.md - name: Configure BitLocker href: configure.md - - name: Configure BitLocker on Windows Server - href: configure-server.md - name: BitLocker management tools href: manage.md - name: Protect cluster shared volumes and storage area networks with BitLocker From 66be7bca6d34a906f2c90a61dba94c1697c5ecb5 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 4 Oct 2023 11:56:41 -0400 Subject: [PATCH 076/505] updates --- .../data-protection/bitlocker/manage.md | 144 +++++++----------- 1 file changed, 59 insertions(+), 85 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md index 8bbfb3d20d..0f2d48b295 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -134,7 +134,7 @@ If a drive is pre-provisioned with BitLocker, a status of **Waiting for Activati The following example shows how to enable BitLocker on an operating system drive using only the TPM protector: ```powershell -Enable-BitLocker C: +Enable-BitLocker C: -TpmProtector ``` In the next example, we add one more protector, the *StartupKey* protector, and choose to skip the BitLocker hardware test. Encryption starts immediately without the need for a reboot: @@ -143,6 +143,54 @@ In the next example, we add one more protector, the *StartupKey* protector, and Enable-BitLocker C: -StartupKeyProtector -StartupKeyPath -SkipHardwareTest ``` +Data volume encryption using Windows PowerShell is the same as for operating system volumes. Add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a +SecureString value to store the user-defined password. + +```powershell +$pw = Read-Host -AsSecureString + +Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw +``` + +> [!NOTE] +> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. + +The **ADAccountOrGroup** protector is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding an SID-based protector for the Cluster Name Object (CNO) that lets the disk properly failover and unlock to any member computer of the cluster. + +> [!WARNING] +> The SID-based protector requires the use of an additional protector such as TPM, PIN, recovery key, etc. when used on operating system volumes. + +To add an **ADAccountOrGroup** protector to a volume, either the domain SID is needed or the group name preceded by the domain and a backslash. In the example below, the **CONTOSO\\Administrator** account is added as a protector to the data volume G. + +```powershell +Enable-BitLocker G: -AdAccountOrGroupProtector -AdAccountOrGroup CONTOSO\Administrator +``` + +For users who wish to use the SID for the account or group, the first step is to determine the SID associated with the account. To get the specific SID for a user account in Windows PowerShell, use the following command: + +```powershell +Get-ADUser -filter {samaccountname -eq "administrator"} +``` + +> [!NOTE] +> Use of this command requires the RSAT-AD-PowerShell feature. + +> [!TIP] +> In addition to the Windows PowerShell command above, information about the locally logged on user and group membership can be found using: `WHOAMI /ALL`. This doesn't require the use of additional features. + +**Example**: Use PowerShell to enable BitLocker with a TPM protector + +```powershell +Enable-BitLocker -MountPoint "D:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector +``` + +**Example**: Use PowerShell to enable BitLocker with a TPM+PIN protector, in this case with a PIN set to *123456*: + +```powershell +$SecureString = ConvertTo-SecureString "123456" -AsPlainText -Force +Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pin $SecureString -TPMandPinProtector +``` + #### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) Using only the `manage-bde.exe -on ` command encrypts the operating system volume with a TPM-only protector and no recovery key. However, you may require more secure protectors such as passwords or PIN, and expect to be able to recover information with a recovery key. @@ -169,19 +217,20 @@ Another example is a user on a non-TPM hardware who wishes to add a password and manage-bde.exe -protectors -add C: -pw -sid ``` -This command requires the user to enter and then confirm the password protectors before adding them to the volume. With the protectors enabled on the volume, the user just needs to turn on BitLocker. +This command requires the user to enter and then confirm the password protector, before adding both protectors to the volume. With the protectors enabled on the volume, the user just needs to turn on BitLocker. A common protector for a data volume is the password protector. In the next example, a password protector is added to the volume and turn on BitLocker. -```powershell +```cmd manage-bde.exe -protectors -add -pw C: manage-bde.exe -on C: ``` + ### Enabling BitLocker without a TPM Suppose BitLocker is desired on a computer without a TPM. In this scenario, a USB flash drive is needed as a startup key for the operating system volume. The startup key will then allow the computer to boot. To create the startup key using `manage-bde.exe`, the `-protectors` switch would be used specifying the `-startupkey` option. Assuming the USB flash drive is drive letter `E:`, then the following `manage-bde.exe` commands would be used t create the startup key and start the BitLocker encryption: -```powershell +```cmd manage-bde.exe -protectors -add C: -startupkey E: manage-bde.exe -on C: ``` @@ -348,41 +397,6 @@ Remove-BitLockerKeyProtector : -KeyProtectorID "{GUID}" > [!NOTE] > The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. -Data volume encryption using Windows PowerShell is the same as for operating system volumes. Add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a -SecureString value to store the user-defined password. - -```powershell -$pw = Read-Host -AsSecureString - -Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw -``` - -> [!NOTE] -> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. - -The **ADAccountOrGroup** protector is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding an SID-based protector for the Cluster Name Object (CNO) that lets the disk properly failover and unlock to any member computer of the cluster. - -> [!WARNING] -> The SID-based protector requires the use of an additional protector such as TPM, PIN, recovery key, etc. when used on operating system volumes. - -To add an **ADAccountOrGroup** protector to a volume, either the domain SID is needed or the group name preceded by the domain and a backslash. In the example below, the **CONTOSO\\Administrator** account is added as a protector to the data volume G. - -```powershell -Enable-BitLocker G: -AdAccountOrGroupProtector -AdAccountOrGroup CONTOSO\Administrator -``` - -For users who wish to use the SID for the account or group, the first step is to determine the SID associated with the account. To get the specific SID for a user account in Windows PowerShell, use the following command: - -```powershell -Get-ADUser -filter {samaccountname -eq "administrator"} -``` - -> [!NOTE] -> Use of this command requires the RSAT-AD-PowerShell feature. - -> [!TIP] -> In addition to the Windows PowerShell command above, information about the locally logged on user and group membership can be found using: `WHOAMI /ALL`. This doesn't require the use of additional features. - In the example below, the user wishes to add a domain SID-based protector to the previously encrypted operating system volume. The user knows the SID for the user account or group they wish to add and uses the following command: ```powershell @@ -392,49 +406,29 @@ Add-BitLockerKeyProtector C: -ADAccountOrGroupProtector -ADAccountOrGroup " > [!NOTE] > Active Directory-based protectors are normally used to unlock Failover Cluster-enabled volumes. -For Azure AD-joined computers, the recovery password should be stored in Azure AD. +For Microsoft Entra joined devices, the recovery password should be stored in Microsoft Entra ID. -**Example**: *Use PowerShell to add a recovery password and back it up to Azure AD before enabling BitLocker* +**Example**: Use PowerShell to add a recovery password and back it up to Microsoft Entra ID before enabling BitLocker*: ```powershell Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector - $BLV = Get-BitLockerVolume -MountPoint "C:" - BackupToAAD-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId ``` -For domain-joined computers, including servers, the recovery password should be stored in Active Directory Domain Services (AD DS). +For domain-joined devices, including servers, the recovery password should be stored in Active Directory Domain Services (AD DS). -**Example**: *Use PowerShell to add a recovery password and back it up to AD DS before enabling BitLocker* +**Example**: Use PowerShell to add a recovery password and back it up to AD DS before enabling BitLocker: ```powershell Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector - $BLV = Get-BitLockerVolume -MountPoint "C:" - Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId ``` -PowerShell can then be used to enable BitLocker: - -**Example**: *Use PowerShell to enable BitLocker with a TPM protector* - -```powershell -Enable-BitLocker -MountPoint "D:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector -``` - -**Example**: *Use PowerShell to enable BitLocker with a TPM+PIN protector, in this case with a PIN set to 123456* - -```powershell -$SecureString = ConvertTo-SecureString "123456" -AsPlainText -Force - -Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pin $SecureString -TPMandPinProtector -``` - #### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) -Listed below are examples of basic valid commands for operating system volumes. In general, using only the `manage-bde.exe -on ` command will encrypt the operating system volume with a TPM-only protector and no recovery key. However, many environments require more secure protectors such as passwords or PIN and expect information recovery with a recovery key. It's recommended to add at least one primary protector plus a recovery protector to an operating system volume. +Here are some examples to manage operating system volumes. In general, using only the `manage-bde.exe -on ` command will encrypt the operating system volume with a TPM-only protector and no recovery key. However, you may require more secure protectors such as passwords or PIN and expect information recovery with a recovery key. The following example illustrates enabling BitLocker on a computer without a TPM chip. Before beginning the encryption process, the startup key needed for BitLocker must be created and saved to a USB drive. When BitLocker is enabled for the operating system volume, BitLocker will need to access the USB flash drive to obtain the encryption key. In this example, the drive letter E represents the USB drive. Once the commands are run, it will prompt to reboot the computer to complete the encryption process. @@ -446,21 +440,7 @@ manage-bde.exe -on C: > [!NOTE] > After the encryption is completed, the USB startup key must be inserted before the operating system can be started. -An alternative to the startup key protector on non-TPM hardware is to use a password and an **ADaccountorgroup** protector to protect the operating system volume. In this scenario, the protectors are added first. To add the protectors, enter the following command: - -```cmd -manage-bde.exe -protectors -add C: -pw -sid -``` - -The above command will require the password protector to be entered and confirmed before adding them to the volume. With the protectors enabled on the volume, BitLocker can then be turned on. - -On computers with a TPM, it's possible to encrypt the operating system volume without defining any protectors using `manage-bde.exe`. To enable BitLocker on a computer with a TPM without defining any protectors, enter the following command: - -```cmd -manage-bde.exe -on C: -``` - -The above command encrypts the drive using the TPM as the default protector. If verify if a TPM protector is available, the list of protectors available for a volume can be listed by running the following command: +To verify if a TPM protector is available, the list of protectors available for a volume can be listed by running the following command: ```cmd manage-bde.exe -protectors -get @@ -472,12 +452,6 @@ Data volumes use the same syntax for encryption as operating system volumes but or additional protectors can be added to the volume first. It's recommended to add at least one primary protector plus a recovery protector to a data volume. -A common protector for a data volume is the password protector. In the example below, a password protector is added to the volume and then BitLocker is turned on. - -```cmd -manage-bde.exe -protectors -add -pw C: -manage-bde.exe -on C: -``` #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) From abe2a35ec6869008b43c55938d63ff69a346a809 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 4 Oct 2023 12:25:25 -0400 Subject: [PATCH 077/505] updates --- .../bitlocker/bitlocker-device-encryption.md | 12 +++--------- .../data-protection/bitlocker/manage.md | 2 +- ...assword-viewer.md => recovery-password-viewer.md} | 0 3 files changed, 4 insertions(+), 10 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{bitlocker-use-bitlocker-recovery-password-viewer.md => recovery-password-viewer.md} (100%) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md index 47e815ee11..a27714a6d9 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md @@ -42,24 +42,18 @@ Microsoft recommends automatically enabling BitLocker Device Encryption on any s - **Type**: `REG_DWORD` - **Value**: `PreventDeviceEncryption` equal to `1` (True) -Administrators can manage domain-joined devices that have BitLocker Device Encryption enabled through Microsoft BitLocker Administration and Monitoring (MBAM). In this case, BitLocker Device Encryption automatically makes additional BitLocker options available. No conversion or encryption is required, and MBAM can manage the full BitLocker policy set if any configuration changes are required. - > [!NOTE] > BitLocker Device Encryption uses the XTS-AES 128-bit encryption method. If a different encryption method and/or cipher strength is needed but the device is already encrypted, it must first be decrypted before the new encryption method and/or cipher strength can be applied. After the device has been decrypted, different BitLocker settings can be applied. ## Used Disk Space Only encryption -BitLocker in earlier Windows versions could take a long time to encrypt a drive because it encrypted every byte on the volume including areas that didn't have data. Encrypting every byte on the volume including areas that didn't have data is known as full disk encryption. Full disk encryption is still the most secure way to encrypt a drive, especially if a drive has previously contained confidential data that has since been moved or deleted. If a drive previously had confidential data that has been moved or deleted, traces of the confidential data could remain on portions of the drive marked as unused. - -To reduce encryption time, BitLocker in Windows 11 and Windows 10 let users choose to encrypt just the areas of the disk that contain data. Areas of the disk that don't contain data and are empty won't be encrypted. Any new data is encrypted as it's created. Depending on the amount of data on the drive, this option can reduce the initial encryption time by more than 99 percent. +To reduce encryption time, BitLocker lets users choose to encrypt just the areas of the disk that contain data. Areas of the disk that don't contain data and are empty aren't be encrypted. Any new data is encrypted as it's created. Depending on the amount of data on the drive, this option can reduce the initial encryption time by more than 99 percent. Exercise caution when encrypting only used space on an existing volume on which confidential data may have already been stored in an unencrypted state. When using used space encryption, sectors where previously unencrypted data are stored can be recovered through disk-recovery tools until they're overwritten by new encrypted data. In contrast, encrypting only used space on a brand-new volume can significantly decrease deployment time without the security risk because all new data will be encrypted as it's written to the disk. ## Encrypted hard drive support -SEDs have been available for years, but Microsoft couldn't support their use with some earlier versions of Windows because the drives lacked important key management features. Microsoft worked with storage vendors to improve the hardware capabilities, and now BitLocker supports the next generation of SEDs, which are called encrypted hard drives. - -Encrypted hard drives provide onboard cryptographic capabilities to encrypt data on drives. This feature improves both drive and system performance by offloading cryptographic calculations from the PC's processor to the drive itself. Data is rapidly encrypted by the drive by using dedicated, purpose-built hardware. If planning to use whole-drive encryption with Windows 11 or Windows 10, Microsoft recommends researching hard drive manufacturers and models to determine whether any of their encrypted hard drives meet the security and budget requirements. +Encrypted hard drives provide onboard cryptographic capabilities to encrypt data on drives. This feature improves both drive and system performance by offloading cryptographic calculations from the device's processor to the drive itself. Data is rapidly encrypted by the drive by using dedicated, purpose-built hardware. If planning to use whole-drive encryption with Windows, Microsoft recommends researching hard drive manufacturers and models to determine whether any of their encrypted hard drives meet the security and budget requirements. For more information about encrypted hard drives, see [Encrypted hard drive](../encrypted-hard-drive.md). @@ -98,4 +92,4 @@ For more information about how to configure Network unlock feature, see [BitLock ## Microsoft BitLocker administration and monitoring -Enterprises can use Configuration Manager or the built-in features of Azure AD and Microsoft Intune for BitLocker administration and monitoring. For more information, see [Monitor device encryption with Intune](/mem/intune/protect/encryption-monitor). +Enterprises can use Microsoft Entra ID, Microsoft Intune and Configuration Manager for BitLocker administration and monitoring. For more information, see [Monitor device encryption with Intune](/mem/intune/protect/encryption-monitor). diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/manage.md index 0f2d48b295..b0b5c97735 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/manage.md @@ -498,7 +498,7 @@ manage-bde.exe -status C: #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) -BitLocker decryption using the control panel is done using a wizard. The control panel can be called from Windows Explorer or by opening it directly. After opening the BitLocker control panel, users will select the **Turn off BitLocker** option to begin the process. +BitLocker decryption using the control panel is done using a wizard. The control panel can be called from Windows Explorer or by opening it directly. After opening the BitLocker control panel applet, users can select the **Turn off BitLocker** option to begin the process.\ After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to the control panel. The control panel doesn't report decryption progress but displays it in the notification area of the task bar. Selecting the notification area icon will open a modal dialog with progress. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-recovery-password-viewer.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-password-viewer.md similarity index 100% rename from windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-recovery-password-viewer.md rename to windows/security/operating-system-security/data-protection/bitlocker/recovery-password-viewer.md From f0b3924c9e0f31e462158f309b31f3d6580d8bd6 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 4 Oct 2023 14:47:46 -0400 Subject: [PATCH 078/505] updates --- .../{manage.md => operations-guide.md} | 97 ++++--------------- .../bitlocker/recovery-guide.md | 26 ++++- .../data-protection/bitlocker/toc.yml | 8 +- 3 files changed, 47 insertions(+), 84 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{manage.md => operations-guide.md} (77%) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/manage.md b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md similarity index 77% rename from windows/security/operating-system-security/data-protection/bitlocker/manage.md rename to windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md index b0b5c97735..6a8dbf973b 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/manage.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md @@ -1,13 +1,13 @@ --- -title: BitLocker management tools -description: Learn how to use different tools to operate BitLocker. +title: BitLocker operations guide +description: Learn how to use different tools to manage and operate BitLocker. ms.collection: - tier1 ms.topic: how-to ms.date: 07/25/2023 --- -# BitLocker management tools +# BitLocker operations guide There are differnt tools and options to manage and operate BitLocker: @@ -31,31 +31,6 @@ The BitLocker drive encryption tools include the two command-line tools: - *Configuration Tool* (`manage-bde.exe`) can be used for scripting BitLocker operations, offering options that aren't present in the BitLocker Control Panel applet. For a complete list of the `manage-bde.exe` options, see the [Manage-bde reference](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) - *Repair Tool* (`repair-bde.exe`) is useful for disaster recovery scenarios, in which a BitLocker protected drive can't be unlocked normally or using the recovery console -### Repair tool - -The Repair Tool can reconstruct critical parts of the drive and salvage recoverable data, as long as a valid recovery password or recovery key is used to decrypt the data. If the BitLocker metadata data on the drive is corrupt, the backup key package in addition to the recovery password or recovery key must be supplied. With the key package and either the recovery password or recovery key, portions of a corrupted BitLocker-protected drive can be decrypted. Each key package works only for a drive that has the corresponding drive identifier - -> [!TIP] -> If recovery information is not backed up to AD DS or if key packages need to be saved in an alternative way, use the following command to generate a key package for a volume: -> -> `manage-bde.exe -KeyPackage` - -The Repair Tool is intended for use when the operating system doesn't start or when the BitLocker Recovery Console can't be started. Use Repair-bde in the following conditions: - -- The drive is encrypted using BitLocker Drive Encryption -- Windows doesn't start, or the BitLocker recovery console can't start -- There isn't a backup copy of the data that is contained on the encrypted drive - -> [!NOTE] -> Damage to the drive may not be related to BitLocker. Therefore, it is recommended to try other tools to help diagnose and resolve the problem with the drive before using the BitLocker Repair Tool. The Windows Recovery Environment (Windows RE) provides additional options to repair computers. - -The following limitations exist for Repair-bde: - -- it can't repair a drive that failed during the encryption or decryption process -- it assumes that if the drive has any encryption, then the drive is fully encrypted - -For a complete list of the `repair-bde.exe` options, see the [Repair-bde reference](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829851(v=ws.11)). - ## Example: check the BitLocker status To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLocker control panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. @@ -257,22 +232,17 @@ To start encryption for a volume, select **Turn on BitLocker** for the appropria For the operating system volume the **BitLocker Drive Encryption Wizard** presents several screens that prompt for options while it performs several actions: -1. When the **BitLocker Drive Encryption Wizard** first launches, it verifies the computer meets the BitLocker system requirements for encrypting an operating system volume. By default, the system requirements are: - - If the volume doesn't pass the initial configuration for BitLocker, the user is presented with an error dialog describing the appropriate actions to be taken. - -2. Upon passing the initial configuration, users may be prompted to enter a password for the volume, for example, if a TPM isn't available. If a TPM is available, the password screen will be skipped. - -3. After the initial configuration/password screens, a recovery key will be generated. The **BitLocker Drive Encryption Wizard** will prompt for a location to save the recovery key. A BitLocker recovery key is a special key that is created when BitLocker Drive Encryption is turned on for the first time on each drive that is encrypted. The recovery key can be used to gain access to the computer if: - +1. When the **BitLocker Drive Encryption Wizard** first launches, it verifies the computer meets the BitLocker system requirements for encrypting an operating system volume +1. Upon passing the initial configuration, users are prompted to enter a password for the volume if a TPM isn't available. If a TPM is available, the password screen is skipped +1. After the initial configuration/password screens, a recovery key will be generated. The **BitLocker Drive Encryption Wizard** will prompt for a location to save the recovery key. A BitLocker recovery key is a special key that is created when BitLocker Drive Encryption is turned on for the first time on each drive that is encrypted. The recovery key can be used to gain access to the device if: - The drive that Windows is installed on (the operating system drive) is encrypted using BitLocker Drive Encryption - BitLocker detects a condition that prevents it from unlocking the drive when the computer is starting up - A recovery key can also be used to gain access to the files and folders on a removable data drive (such as an external hard drive or USB flash drive) that is encrypted using BitLocker To Go, if for some reason the password is forgotten or the computer can't access the drive. + A recovery key can also be used to gain access to the files and folders on a removable data drive (such as an external hard drive or USB flash drive) that is encrypted using BitLocker, if for some reason the password is forgotten or the device can't access the drive. The recovery key can be stored using the following methods: - - **Save to your Azure AD account** (if applicable) + - **Save to your Microsoft Entra ID account** or **Microsoft Account** (if applicable) - **Save to a USB flash drive** - **Save to a file** - the file needs to be saved to a location that isn't on the computer itself such as a network folder or OneDrive - **Print the recovery key** @@ -284,15 +254,15 @@ For the operating system volume the **BitLocker Drive Encryption Wizard** presen - An encrypted volume > [!TIP] - > Ideally, a computer's recovery key should be stored separate from the computer itself. + > Ideally, a recovery key should be stored separate from the device itself. > [!NOTE] > After a recovery key is created, the BitLocker control panel can be used to make additional copies of the recovery key. -4. The **BitLocker Drive Encryption Wizard** will then prompt how much of the drive to encrypt. The **BitLocker Drive Encryption Wizard** will have two options that determine how much of the drive is encrypted: +1. The **BitLocker Drive Encryption Wizard** prompts how much of the drive to encrypt. The **BitLocker Drive Encryption Wizard** has two options that determine how much of the drive is encrypted: - - **Encrypt used disk space only** - Encrypts only disk space that contains data. - - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption. + - **Encrypt used disk space only** - Encrypts only disk space that contains data + - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption Each of the methods is recommended in the following scenarios: @@ -310,16 +280,16 @@ For the operating system volume the **BitLocker Drive Encryption Wizard** presen > [!IMPORTANT] > Deleted files appear as free space to the file system, which isn't encrypted by **used disk space only**. Until they are wiped or overwritten, deleted files hold information that could be recovered with common data forensic tools. -5. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: +1. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: - **New encryption mode** - **Compatible mode** - Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another computer with an older Windows operating system, then select **Compatible mode**. + Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another device with an older Windows operating system, select **Compatible mode** -6. After selecting an encryption mode, the **BitLocker Drive Encryption Wizard** will give the option of running a BitLocker system check via the option **Run BitLocker system check**. This system check will ensure that BitLocker can properly access the recovery and encryption keys before the volume encryption begins. it's recommended run this system check before starting the encryption process. If the system check isn't run and a problem is encountered when the operating system attempts to start, the user will need to provide the recovery key to start Windows. +1. After selecting an encryption mode, the **BitLocker Drive Encryption Wizard** will give the option of running a BitLocker system check via the option **Run BitLocker system check**. This system check ensures that BitLocker can properly access the recovery and encryption keys before the volume encryption begins. it's recommended run this system check before starting the encryption process. If the system check isn't run and a problem is encountered when the operating system attempts to start, the user will need to provide the recovery key to start Windows. -After completing the system check (if selected), the **BitLocker Drive Encryption Wizard** will begin encryption. A reboot may be initiated to start encryption. If a reboot was initiated, if there was no TPM and a password was specified, the password will need to be entered to boot into the operating system volume. +After completing the system check (if selected), the **BitLocker Drive Encryption Wizard** starts encryption. A reboot may be initiated to start encryption. If a reboot is initiated, if there was no TPM and a password was specified, the password must be entered to boot into the operating system volume. Users can check encryption status by checking the system notification area or the BitLocker control panel. @@ -329,42 +299,11 @@ Until encryption is completed, the only available options for managing BitLocker Encrypting data volumes using the BitLocker control panel works in a similar fashion to encryption of the operating system volumes. Users select **Turn on BitLocker** within the BitLocker control panel to begin the **BitLocker Drive Encryption Wizard**. -1. Upon launching the **BitLocker Drive Encryption Wizard**, unlike for operating system volumes, data volumes aren't required to pass any configuration tests for the **BitLocker Drive Encryption Wizard** to proceed - -2. A choice of authentication methods to unlock the drive appears. The available options are: - - - **Use a password to unlock the drive** - - **Use my smart card to unlock the drive** - - **Automatically unlock this drive on this computer** - Disabled by default but if enabled, this option will unlock the data volume without user input when the operating system volume is unlocked. - -3. The **BitLocker Drive Encryption Wizard** presents options for storage of the recovery key. These options are the same as for operating system volumes: - - - **Save to your Azure AD account** (if applicable) - - **Save to a USB flash drive** - - **Save to a file** - the file needs to be saved to a location that isn't on the computer itself such as a network folder or OneDrive - - **Print the recovery key** - -4. After saving the recovery key, the **BitLocker Drive Encryption Wizard** will show available options for encryption. These options are the same as for operating system volumes: - - - **Encrypt used disk space only** - Encrypts only disk space that contains data. - - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption. - -5. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: - - - **New encryption mode** - - **Compatible mode** - - Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another computer with an older Windows operating system, then select **Compatible mode**. - -6. The **BitLocker Drive Encryption Wizard** will display a final confirmation screen before the encryption process begins. Selecting **Start encrypting** begins encryption. - -Encryption status displays in the notification area or within the BitLocker control panel. - ### OneDrive option -There's an option for storing the BitLocker recovery key using OneDrive. This option requires that computers aren't members of a domain and that the user is using a Microsoft Account. Local accounts don't give the option to use OneDrive. Using the OneDrive option is the default recommended recovery key storage method for computers that aren't joined to a domain. +There's an option for storing the BitLocker recovery key using OneDrive. This option requires that computers aren't members of a domain and that the user is using a Microsoft Account. Local user accounts don't have the option to use OneDrive. Using the OneDrive option is the default recommended recovery key storage method for computers that aren't joined to a domain. -Users can verify whether the recovery key was saved properly by checking OneDrive for the BitLocker folder. The BitLocker folder on OneDrive is created automatically during the save process. The folder will contain two files, a `readme.txt` and the recovery key. For users storing more than one recovery password on their OneDrive, they can identify the required recovery key by looking at the file name. The recovery key ID is appended to the end of the file name. +Users can verify whether the recovery key is saved properly by checking OneDrive for the *BitLocker* folder, which is created automatically during the save process. The folder contains two files, a `readme.txt` and the recovery key. For users storing more than one recovery password on their OneDrive, they can identify the required recovery key by looking at the file name. The recovery key ID is appended to the end of the file name. ### Using BitLocker within Windows Explorer diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md index 90b2910573..4ec300b0ea 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md @@ -567,4 +567,28 @@ Device name: DESKTOP-53O32QI BitLocker recovery key: 230428-214104-446864-180785-025949-078650-715165-409893 Key id: 6a7e153f-d5e9-4547-96d6-174ff0d0bdb4 BitLocker recovery key: 241846-437393-298925-499389-123255-123640-709808-330682 -``` \ No newline at end of file +``` +### Repair tool + +The Repair Tool can reconstruct critical parts of the drive and salvage recoverable data, as long as a valid recovery password or recovery key is used to decrypt the data. If the BitLocker metadata data on the drive is corrupt, the backup key package in addition to the recovery password or recovery key must be supplied. With the key package and either the recovery password or recovery key, portions of a corrupted BitLocker-protected drive can be decrypted. Each key package works only for a drive that has the corresponding drive identifier + +> [!TIP] +> If recovery information is not backed up to AD DS or if key packages need to be saved in an alternative way, use the following command to generate a key package for a volume: +> +> `manage-bde.exe -KeyPackage` + +The Repair Tool is intended for use when the operating system doesn't start or when the BitLocker Recovery Console can't be started. Use Repair-bde in the following conditions: + +- The drive is encrypted using BitLocker Drive Encryption +- Windows doesn't start, or the BitLocker recovery console can't start +- There isn't a backup copy of the data that is contained on the encrypted drive + +> [!NOTE] +> Damage to the drive may not be related to BitLocker. Therefore, it is recommended to try other tools to help diagnose and resolve the problem with the drive before using the BitLocker Repair Tool. The Windows Recovery Environment (Windows RE) provides additional options to repair computers. + +The following limitations exist for Repair-bde: + +- it can't repair a drive that failed during the encryption or decryption process +- it assumes that if the drive has any encryption, then the drive is fully encrypted + +For a complete list of the `repair-bde.exe` options, see the [Repair-bde reference](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829851(v=ws.11)). diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index 4a73917765..ac71140602 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -13,12 +13,12 @@ items: href: enable-server.md - name: Configure BitLocker href: configure.md - - name: BitLocker management tools - href: manage.md - - name: Protect cluster shared volumes and storage area networks with BitLocker - href: csv-san.md + - name: BitLocker operations guide + href: operations-guide.md - name: Network Unlock href: network-unlock.md + - name: Protect cluster shared volumes and storage area networks with BitLocker + href: csv-san.md - name: BitLocker Recovery Guide href: recovery-guide.md - name: BitLocker Recovery Password Viewer From 8137ceb43a410fb5c6ff2243ba7b2548f64761e8 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Wed, 4 Oct 2023 18:00:47 -0400 Subject: [PATCH 079/505] updates --- ...blishing.redirection.windows-security.json | 22 +++++++++- ...odelete_bitlocker-deployment-comparison.md | 42 ------------------ .../data-protection/bitlocker/configure.md | 43 +++---------------- .../data-protection/bitlocker/csv-san.md | 2 +- .../bitlocker/enable-server.md | 2 +- .../data-protection/bitlocker/faq.yml | 4 +- ...llow-suspension-of-bitlocker-protection.md | 20 --------- .../bitlocker/network-unlock.md | 4 +- .../bitlocker/operations-guide.md | 28 ++++++------ .../data-protection/bitlocker/plan.md | 4 +- .../bitlocker/policy-settings.md | 10 ++--- .../bitlocker/recovery-guide.md | 12 +++--- .../data-protection/bitlocker/toc.yml | 4 +- 13 files changed, 63 insertions(+), 134 deletions(-) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/_todelete_bitlocker-deployment-comparison.md delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index 2490ae95e9..bb4fc5e7f4 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -7452,13 +7452,33 @@ }, { "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-drive-encryption-tools-to-manage-bitlocker.md", - "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/manage", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/operations-guide", "redirect_document_id": false }, { "source_path": "windows/security/operating-system-security/data-protection/bitlocker/protecting-cluster-shared-volumes-and-storage-area-networks-with-bitlocker.md", "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/csv-san", "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/policy-settings", + "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-deploy-on-windows-server.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/enable-server", + "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/configure", + "redirect_document_id": false + }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-recovery-password-viewer.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/recovery-password-viewer.md", + "redirect_document_id": false } ] } \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/_todelete_bitlocker-deployment-comparison.md b/windows/security/operating-system-security/data-protection/bitlocker/_todelete_bitlocker-deployment-comparison.md deleted file mode 100644 index c0a7e8005b..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/_todelete_bitlocker-deployment-comparison.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: BitLocker deployment comparison -description: Learn about the differences between Microsoft Intune and Microsoft Configuration Manager when managing BitLocker. -ms.topic: conceptual -ms.date: 10/02/2023 ---- - -# BitLocker deployment comparison - -This article compares the BitLocker management options between Microsoft Intune and Microsoft Configuration Manager. - -| Requirements | Microsoft Intune | Microsoft Configuration Manager | -|--|--|--| -| *Supported Windows client editions* | Pro, Enterprise, Pro Education, Education | Pro, Enterprise, Pro Education, Education | -| *Windows server support* | ❌ | ❌ | -| *Supported domain-joined status* | Microsoft Entra joined and hybrid joined | Active Directory-joined, Microsoft Entra hybrid joined | -| *Permissions required to manage policies* | Endpoint security manager or custom | Full administrator or custom | -| *Cloud or on premises* | Cloud | On premises | -| *Additional agent required?* | No (device enrollment only) | Configuration Manager client | -| *Administrative plane* | Microsoft Intune admin center | Configuration Manager console | -| *Compliance reporting capabilities* | ✅ | ✅ | -| *Force encryption* | ✅ | ✅ | -| *Allow recovery password* | ✅ | ✅ | -| *Manage startup authentication* | ✅ | ✅ | -| *Select cipher strength and algorithms for fixed drives* | ✅ | ✅ | -| *Select cipher strength and algorithms for removable drives* | ✅ | ✅ | -| *Select cipher strength and algorithms for operating environment drives* | ✅ | ✅ | -| *Standard recovery password storage location* | Microsoft Entra ID or Active Directory | Configuration Manager site database | -| *Store recovery password for operating system and fixed drives to Microsoft Entra ID or Active Directory* | Both | Active Directory only | -| *Customize preboot message and recovery link* | ✅ | ✅ | -| *Allow/deny key file creation* | ✅ | ✅ | -| *Deny Write permission to unprotected drives* | ✅ | ✅ | -| *Can be administered outside company network* | ✅ | ✅ | -| *Support for organization unique IDs* | ✅ | ✅ | -| *Self-service recovery* | ✅ | ✅ | -| *Recovery password rotation for fixed and operating environment drives* | ✅ | ✅ | -| *Wait to complete encryption until recovery information is backed up to Microsoft Entra ID* | ✅ | ❌ | -| *Wait to complete encryption until recovery information is backed up to Active Directory* | ✅ | ✅ | -| *Allow or deny Data Recovery Agent* | ✅ | ❌ | -| *Unlock a volume using certificate with custom object identifier* | ❌ | ❌ | -| *Prevent memory overwrite on restart* | ✅ | ✅ | -| *Manage auto-unlock functionality* | ✅ | ✅ | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index 89f023a5cd..bbc5a0a2da 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -8,7 +8,7 @@ ms.date: 10/03/2023 # BitLocker settings and configuration This article describes the Personal Data Encryption (BitLocker) settings and how to configure them via Microsoft Intune or Configuration Service Providers (CSP). - + -#### System Information +## BitLocker management -#### PowerShell - -#### Event viewer - -## Disable Credential Guard - -### Disable Credential Guard with Intune - -### Disable Credential Guard with group policy - -### Disable Credential Guard with registry settings - -## Next steps - - -# BitLocker management The ideal solution for BitLocker management is to eliminate the need for IT administrators to set management policies using tools or other mechanisms by having Windows perform tasks that are more practical to automate. The growth of TPM 2.0, secure boot, and other hardware improvements, for example, have helped to alleviate the support burden on help desks and a decrease in support-call volumes, yielding improved user satisfaction. @@ -77,11 +55,6 @@ The ideal solution for BitLocker management is to eliminate the need for IT admi Companies that image their own computers using Configuration Manager can use an existing task sequence to [pre-provision BitLocker](/configmgr/osd/understand/task-sequence-steps#BKMK_PreProvisionBitLocker) encryption while in Windows Preinstallation Environment (WinPE) and can then [enable protection](/configmgr/osd/understand/task-sequence-steps#BKMK_EnableBitLocker). These steps during an operating system deployment can help ensure that computers are encrypted from the start, even before users receive them. As part of the imaging process, a company could also decide to use Configuration Manager to pre-set any desired [BitLocker policy settings](policy-settings.md). -Enterprises can use [Microsoft BitLocker Administration and Monitoring (MBAM)](/microsoft-desktop-optimization-pack/mbam-v25/) to manage client computers with BitLocker that are domain-joined on-premises until [mainstream support ends in July 2019](/lifecycle/products/?alpha=Microsoft%20BitLocker%20Administration%20and%20Monitoring%202.5%20Service%20Pack%201%2F) or they can receive extended support until April 2026. Thus, over the next few years, a good strategy for enterprises will be to plan and move to cloud-based management for BitLocker. Refer to the [PowerShell examples](#powershell-examples) to see how to store recovery keys in Azure Active Directory (Azure AD). - -> [!IMPORTANT] -> Microsoft BitLocker Administration and Monitoring (MBAM) capabilities are offered through Configuration Manager BitLocker Management. See [Plan for BitLocker management](/mem/configmgr/protect/plan-design/bitlocker-management) in the Configuration Manager documentation for additional information. - ## Manage Microsoft Entra joined devices Devices joined to Azure AD are managed using Mobile Device Management (MDM) policy from an MDM solution such as Microsoft Intune. Prior to Windows 10, version 1809, only local administrators can enable BitLocker via Intune policy. Starting with Windows 10, version 1809, Intune can enable BitLocker for standard users. [BitLocker Device Encryption](bitlocker-device-encryption.md) status can be queried from managed machines via the [Policy Configuration Settings Provider (CSP)](/windows/client-management/mdm/policy-configuration-service-provider/), which reports on whether BitLocker Device Encryption is enabled on the device. Compliance with BitLocker Device Encryption policy can be a requirement for [Conditional Access](https://www.microsoft.com/cloud-platform/conditional-access/) to services like Exchange Online and SharePoint Online. @@ -104,5 +77,3 @@ If a server is being installed manually, such as a stand-alone server, then choo Additionally, lights-out data centers can take advantage of the enhanced security of a second factor while avoiding the need for user intervention during reboots by optionally using a combination of BitLocker (TPM+PIN) and BitLocker Network Unlock. BitLocker Network Unlock brings together the best of hardware protection, location dependence, and automatic unlock, while in the trusted location. For the configuration steps, see [BitLocker: How to enable Network Unlock](network-unlock.md). For more information, see the BitLocker FAQs article and other useful links in [Related Articles](#related-articles). - - diff --git a/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md b/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md index 46d74af3bf..22c4c0c2c7 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md @@ -136,7 +136,7 @@ When the cluster service owns a disk resource already, the disk resource needs t 2. Ensure new storage is formatted as NTFS. -3. Encrypt the volume, add a recovery key and add the cluster administrator as a protector key using **`manage-bde.exe`** in a command prompt window. For example: +3. Encrypt the volume, add a recovery key and add the cluster administrator as a protector key using **`manage-bde.exe`** in a Command Prompt window. For example: ```cmd manage-bde.exe -on -used -RP -sid domain\CNO$ -sync diff --git a/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md b/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md index 2b23898a94..d2d5bc8bad 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md @@ -88,7 +88,7 @@ To install BitLocker using the `dism.exe` module, use the following command: Enable-WindowsOptionalFeature -Online -FeatureName BitLocker -All ``` -This command prompts the user for a reboot. The Enable-WindowsOptionalFeature cmdlet doesn't offer support for forcing a reboot of the computer. This command doesn't include installation of the management tools for BitLocker. For a complete installation of BitLocker and all available management tools, use the following command: +This Command Prompts the user for a reboot. The Enable-WindowsOptionalFeature cmdlet doesn't offer support for forcing a reboot of the computer. This command doesn't include installation of the management tools for BitLocker. For a complete installation of BitLocker and all available management tools, use the following command: ```powershell Enable-WindowsOptionalFeature -Online -FeatureName BitLocker, BitLocker-Utilities -All diff --git a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml index c0eed9c67a..65d30718ad 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml @@ -204,7 +204,7 @@ sections: - question: Is it possible to add an additional method of authentication without decrypting the drive if I only have the TPM authentication method enabled? answer: | - The `Manage-bde.exe` command-line tool can be used to replace TPM-only authentication mode with a multifactor authentication mode. For example, if BitLocker is enabled with TPM authentication only and PIN authentication needs to be added, use the following commands from an elevated command prompt, replacing *4-20 digit numeric PIN* with the desired numeric PIN: + The `Manage-bde.exe` command-line tool can be used to replace TPM-only authentication mode with a multifactor authentication mode. For example, if BitLocker is enabled with TPM authentication only and PIN authentication needs to be added, use the following commands from an elevated Command Prompt, replacing *4-20 digit numeric PIN* with the desired numeric PIN: ```cmd manage-bde.exe -protectors -delete %systemdrive% -type tpm @@ -314,7 +314,7 @@ sections: For more info, see [BitLocker policy settings](policy-settings.md). - The BitLocker Windows Management Instrumentation (WMI) interface allows administrators to write a script to back up or synchronize an online client's existing recovery information. However, BitLocker doesn't automatically manage this process. The `manage-bde.exe` command-line tool can also be used to manually back up recovery information to AD DS. For example, to back up all of the recovery information for the `$env:SystemDrive` to AD DS, the following command script can be used from an elevated command prompt: + The BitLocker Windows Management Instrumentation (WMI) interface allows administrators to write a script to back up or synchronize an online client's existing recovery information. However, BitLocker doesn't automatically manage this process. The `manage-bde.exe` command-line tool can also be used to manually back up recovery information to AD DS. For example, to back up all of the recovery information for the `$env:SystemDrive` to AD DS, the following command script can be used from an elevated Command Prompt: ```powershell $BitLocker = Get-BitLockerVolume -MountPoint $env:SystemDrive diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md deleted file mode 100644 index c1d0ba1e66..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/allow-suspension-of-bitlocker-protection.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -author: paolomatarazzo -ms.author: paoloma -ms.date: 09/24/2023 -ms.topic: include ---- - -### Allow suspension of BitLocker protection - -When enabled, this policy allows the suspension of BitLocker protection. When disabled, it prevents suspending BitLocker protection. - -The default value is *enabled*. - -> [!NOTE] -> This policy is applicable to Windows insider builds. - -| | Path | -|--|--| -| **CSP** | `./Device/Vendor/MSFT/BitLocker/`[AllowSuspensionOfBitLockerProtection](/windows/client-management/mdm/bitlocker-csp#allowsuspensionofbitlockerprotection)| -| **GPO** | Not available | \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md b/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md index 11f7b07e86..c59d936280 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md @@ -234,7 +234,7 @@ New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -Subject "CN= _continue_ = "1.3.6.1.4.1.311.67.1.1" ``` -3. Open an elevated command prompt and use the `certreq.exe` tool to create a new certificate. Use the following command, specifying the full path to the file that was created previously along with the file name: +3. Open an elevated Command Prompt and use the `certreq.exe` tool to create a new certificate. Use the following command, specifying the full path to the file that was created previously along with the file name: ```cmd certreq.exe -new BitLocker-NetworkUnlock.inf BitLocker-NetworkUnlock.cer @@ -384,7 +384,7 @@ Gather the following files to troubleshoot BitLocker Network Unlock. Debug logging is turned off by default for the WDS server role. To retrieve WDS debug logs, the WDS debug logs first need to be enabled. Use either of the following two methods to turn on WDS debug logging. - - Start an elevated command prompt, and then run the following command: + - Start an elevated Command Prompt, and then run the following command: ```cmd wevtutil.exe sl Microsoft-Windows-Deployment-Services-Diagnostics/Debug /e:true diff --git a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md index 6a8dbf973b..03fc9b972d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md @@ -15,7 +15,7 @@ There are differnt tools and options to manage and operate BitLocker: - the BitLocker drive encryption tools - Control Panel -The BitLocker drive encryption tools and BitLocker PowerShell module can be used to perform any tasks that can be accomplished through the BitLocker control panel. They are appropriate to use for automated deployments and other scripting scenarios.\ +The BitLocker drive encryption tools and BitLocker PowerShell module can be used to perform any tasks that can be accomplished through the BitLockerControl Panel. They are appropriate to use for automated deployments and other scripting scenarios.\ The BitLocker Control Panel applet allows users to perform basic tasks such as turning on BitLocker on a drive and specifying unlock methods and authentication methods. The BitLocker Control Panel applet is appropriate to use for basic BitLocker tasks. This article describes the BitLocker management tools and how to use them, providing practical examples. @@ -33,7 +33,7 @@ The BitLocker drive encryption tools include the two command-line tools: ## Example: check the BitLocker status -To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLocker control panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. +To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLockerControl Panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. Follow the instructions below verify the status of BitLocker, selecting the tool of your choice. @@ -89,7 +89,7 @@ Volume C: [Local Disk] #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) -Checking BitLocker status with the control panel is a common method used by most users. Once opened, the status for each volume is displayed next to the volume description and drive letter. Available status return values with applet include: +Checking BitLocker status with theControl Panel is a common method used by most users. Once opened, the status for each volume is displayed next to the volume description and drive letter. Available status return values with applet include: | Status | Description | | - | - | @@ -98,7 +98,7 @@ Checking BitLocker status with the control panel is a common method used by most | **Suspended** | BitLocker is suspended and not actively protecting the volume | | **Waiting for Activation**| BitLocker is enabled with a clear protector key and requires further action to be fully protected| -If a drive is pre-provisioned with BitLocker, a status of **Waiting for Activation** displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, PowerShell or `manage-bde.exe` tool to add an appropriate key protector. Once complete, the Control Panel will update to reflect the new status. +If a drive is pre-provisioned with BitLocker, a status of **Waiting for Activation** displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use theControl Panel, PowerShell or `manage-bde.exe` tool to add an appropriate key protector. Once complete, the Control Panel will update to reflect the new status. --- @@ -224,7 +224,7 @@ Or users can choose to add protectors to the volume. It is recommended to add at #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) -Encrypting volumes with the BitLocker control panel (select **Start**, enter `BitLocker`, select **Manage BitLocker**) is how many users will use BitLocker. The name of the BitLocker control panel is BitLocker Drive Encryption. The BitLocker control panel supports encrypting operating system, fixed data, and removable data volumes. The BitLocker control panel will organize available drives in the appropriate category based on how the device reports itself to Windows. Only formatted volumes with assigned drive letters will appear properly in the BitLocker control panel applet. +Encrypting volumes with the BitLockerControl Panel (select **Start**, enter `BitLocker`, select **Manage BitLocker**) is how many users will use BitLocker. The name of the BitLockerControl Panel is BitLocker Drive Encryption. The BitLockerControl Panel supports encrypting operating system, fixed data, and removable data volumes. The BitLockerControl Panel will organize available drives in the appropriate category based on how the device reports itself to Windows. Only formatted volumes with assigned drive letters will appear properly in the BitLockerControl Panel applet. To start encryption for a volume, select **Turn on BitLocker** for the appropriate drive to initialize the **BitLocker Drive Encryption Wizard**. **BitLocker Drive Encryption Wizard** options vary based on volume type (operating system volume or data volume). @@ -257,7 +257,7 @@ For the operating system volume the **BitLocker Drive Encryption Wizard** presen > Ideally, a recovery key should be stored separate from the device itself. > [!NOTE] - > After a recovery key is created, the BitLocker control panel can be used to make additional copies of the recovery key. + > After a recovery key is created, the BitLockerControl Panel can be used to make additional copies of the recovery key. 1. The **BitLocker Drive Encryption Wizard** prompts how much of the drive to encrypt. The **BitLocker Drive Encryption Wizard** has two options that determine how much of the drive is encrypted: @@ -291,13 +291,13 @@ For the operating system volume the **BitLocker Drive Encryption Wizard** presen After completing the system check (if selected), the **BitLocker Drive Encryption Wizard** starts encryption. A reboot may be initiated to start encryption. If a reboot is initiated, if there was no TPM and a password was specified, the password must be entered to boot into the operating system volume. -Users can check encryption status by checking the system notification area or the BitLocker control panel. +Users can check encryption status by checking the system notification area or the BitLockerControl Panel. Until encryption is completed, the only available options for managing BitLocker involve manipulation of the password protecting the operating system volume, backing up the recovery key, and turning off BitLocker. ### Data volume -Encrypting data volumes using the BitLocker control panel works in a similar fashion to encryption of the operating system volumes. Users select **Turn on BitLocker** within the BitLocker control panel to begin the **BitLocker Drive Encryption Wizard**. +Encrypting data volumes using the BitLockerControl Panel works in a similar fashion to encryption of the operating system volumes. Users select **Turn on BitLocker** within the BitLockerControl Panel to begin the **BitLocker Drive Encryption Wizard**. ### OneDrive option @@ -307,7 +307,7 @@ Users can verify whether the recovery key is saved properly by checking OneDrive ### Using BitLocker within Windows Explorer -Windows Explorer allows users to launch the **BitLocker Drive Encryption Wizard** by right-clicking a volume and selecting **Turn On BitLocker**. This option is available on client computers by default. On servers, the BitLocker feature and the Desktop-Experience feature must first be installed for this option to be available. After selecting **Turn on BitLocker**, the wizard works exactly as it does when launched using the BitLocker control panel. +Windows Explorer allows users to launch the **BitLocker Drive Encryption Wizard** by right-clicking a volume and selecting **Turn On BitLocker**. This option is available on client computers by default. On servers, the BitLocker feature and the Desktop-Experience feature must first be installed for this option to be available. After selecting **Turn on BitLocker**, the wizard works exactly as it does when launched using the BitLockerControl Panel. --- @@ -394,7 +394,7 @@ or additional protectors can be added to the volume first. It's recommended to a #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) -Using the control panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. +Using theControl Panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. The drive security window displays prior to changing the volume status. Selecting **Activate BitLocker** will complete the encryption process. Once BitLocker protector activation is completed, the completion notice is displayed. @@ -437,11 +437,11 @@ manage-bde.exe -status C: #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) -BitLocker decryption using the control panel is done using a wizard. The control panel can be called from Windows Explorer or by opening it directly. After opening the BitLocker control panel applet, users can select the **Turn off BitLocker** option to begin the process.\ -After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to the control panel. +BitLocker decryption using theControl Panel is done using a wizard. TheControl Panel can be called from Windows Explorer or by opening it directly. After opening the BitLockerControl Panel applet, users can select the **Turn off BitLocker** option to begin the process.\ +After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to theControl Panel. -The control panel doesn't report decryption progress but displays it in the notification area of the task bar. Selecting the notification area icon will open a modal dialog with progress. +TheControl Panel doesn't report decryption progress but displays it in the notification area of the task bar. Selecting the notification area icon will open a modal dialog with progress. -Once decryption is complete, the drive updates its status in the control panel and becomes available for encryption. +Once decryption is complete, the drive updates its status in theControl Panel and becomes available for encryption. --- diff --git a/windows/security/operating-system-security/data-protection/bitlocker/plan.md b/windows/security/operating-system-security/data-protection/bitlocker/plan.md index aaf5163a79..fa50e850db 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/plan.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/plan.md @@ -120,9 +120,9 @@ Windows RE can also be used from boot media other than the local hard disk. If W BitLocker can be provisioned before the operating system is installed. Preprovisioning requires the computer have a TPM. -To check the BitLocker status of a particular volume, administrators can look at the drive status in the BitLocker control panel applet or Windows Explorer. The "Waiting For Activation" status with a yellow exclamation icon means that the drive was preprovisioned for BitLocker. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't protected, and needs to have a secure key added to the volume before the drive is considered fully protected. Administrators can use the control panel options, the **manage-bde** tool, or WMI APIs to add an appropriate key protector. The volume status will be updated. +To check the BitLocker status of a particular volume, administrators can look at the drive status in the BitLockerControl Panel applet or Windows Explorer. The "Waiting For Activation" status with a yellow exclamation icon means that the drive was preprovisioned for BitLocker. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't protected, and needs to have a secure key added to the volume before the drive is considered fully protected. Administrators can use theControl Panel options, the **manage-bde** tool, or WMI APIs to add an appropriate key protector. The volume status will be updated. -When using the control panel options, administrators can choose to **Turn on BitLocker** and follow the steps in the wizard to add a protector, such as a PIN for an operating system volume (or a password if no TPM exists), or a password or smart card protector to a data volume. Then the drive security window is presented before changing the volume status. +When using theControl Panel options, administrators can choose to **Turn on BitLocker** and follow the steps in the wizard to add a protector, such as a PIN for an operating system volume (or a password if no TPM exists), or a password or smart card protector to a data volume. Then the drive security window is presented before changing the volume status. Administrators can enable BitLocker before to operating system deployment from the Windows Pre-installation Environment (WinPE). This step is done with a randomly generated clear key protector applied to the formatted volume. It encrypts the volume before running the Windows setup process. If the encryption uses the Used Disk Space Only option, then this step takes only a few seconds. And, it incorporates into the regular deployment processes. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index ce9401578b..497ce21721 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -32,23 +32,23 @@ The following table lists the BitLocker policies applicable to all drive types, |Policy name| CSP | GPO | |-|-|-| |[Allow standard user encryption](#allow-standard-user-encryption)|✅|❌| -|[Allow suspension of BitLocker protection](#allow-suspension-of-bitlocker-protection)|✅|❌| |[Choose default folder for recovery password](#choose-default-folder-for-recovery-password)|❌|✅| |[Choose drive encryption method and cipher strength](#choose-drive-encryption-method-and-cipher-strength)|✅|✅| |[Configure recovery password rotation](#configure-recovery-password-rotation)|✅|❌| |[Disable new DMA devices when this computer is locked](#disable-new-dma-devices-when-this-computer-is-locked)|❌|✅| |[Prevent memory overwrite on restart](#prevent-memory-overwrite-on-restart)|❌|✅| |[Provide the unique identifiers for your organization](#provide-the-unique-identifiers-for-your-organization)|✅|✅| +|[Require device encryption](#require-device-encryption)|✅|❌| |[Validate smart card certificate usage rule compliance](#validate-smart-card-certificate-usage-rule-compliance)|❌|✅| [!INCLUDE [allow-standard-user-encryption](includes/allow-standard-user-encryption.md)] -[!INCLUDE [allow-suspension-of-bitlocker-protection](includes/allow-suspension-of-bitlocker-protection.md)] [!INCLUDE [choose-default-folder-for-recovery-password](includes/choose-default-folder-for-recovery-password.md)] [!INCLUDE [choose-drive-encryption-method-and-cipher-strength](includes/choose-drive-encryption-method-and-cipher-strength.md)] [!INCLUDE [configure-recovery-password-rotation](includes/configure-recovery-password-rotation.md)] [!INCLUDE [disable-new-dma-devices-when-this-computer-is-locked](includes/disable-new-dma-devices-when-this-computer-is-locked.md)] [!INCLUDE [prevent-memory-overwrite-on-restart](includes/prevent-memory-overwrite-on-restart.md)] [!INCLUDE [provide-the-unique-identifiers-for-your-organization](includes/provide-the-unique-identifiers-for-your-organization.md)] +[!INCLUDE [require-device-encryption](includes/require-device-encryption.md)] [!INCLUDE [validate-smart-card-certificate-usage-rule-compliance](includes/validate-smart-card-certificate-usage-rule-compliance.md)] #### [:::image type="icon" source="images/os-drive.svg"::: **Operating system drive**](#tab/os) @@ -71,7 +71,6 @@ The following table lists the BitLocker policies applicable to all drive types, |[Enable use of BitLocker authentication requiring preboot keyboard input on slates](#enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates)|✅|✅| |[Enforce drive encryption type on operating system drives](#enforce-drive-encryption-type-on-operating-system-drives)|✅|✅| |[Require additional authentication at startup](#require-additional-authentication-at-startup)|✅|✅| -|[Require device encryption](#require-device-encryption)|✅|❌| |[Reset platform validation data after BitLocker recovery](#reset-platform-validation-data-after-bitlocker-recovery)|❌|✅| |[Use enhanced Boot Configuration Data validation profile](#use-enhanced-boot-configuration-data-validation-profile)|❌|✅| @@ -91,7 +90,6 @@ The following table lists the BitLocker policies applicable to all drive types, [!INCLUDE [enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates](includes/enable-use-of-bitlocker-authentication-requiring-preboot-keyboard-input-on-slates.md)] [!INCLUDE [enforce-drive-encryption-type-on-operating-system-drives](includes/enforce-drive-encryption-type-on-operating-system-drives.md)] [!INCLUDE [require-additional-authentication-at-startup](includes/require-additional-authentication-at-startup.md)] -[!INCLUDE [require-device-encryption](includes/require-device-encryption.md)] [!INCLUDE [reset-platform-validation-data-after-bitlocker-recovery](includes/reset-platform-validation-data-after-bitlocker-recovery.md)] [!INCLUDE [use-enhanced-boot-configuration-data-validation-profile](includes/use-enhanced-boot-configuration-data-validation-profile.md)] @@ -137,9 +135,9 @@ The following table lists the BitLocker policies applicable to all drive types, --- -## BitLocker and policies compliance +## BitLocker and policcy settings compliance -If a device isn't compliant with the configured policies, BitLocker may not be turned on, or BitLocker configuration may be modified until the computer is in a compliant state. When a drive becomes out of compliance with policy settings, only changes to the BitLocker configuration that will bring it into compliance are allowed. Such scenario could occur, for example, if a previously encrypted drive was brought out of compliance by change in policy settings. +If a device isn't compliant with the configured policy settings, BitLocker may not be turned on, or BitLocker configuration may be modified until the device is in a compliant state. When a drive becomes out of compliance with policy settings, only changes to the BitLocker configuration that will bring it into compliance are allowed. Such scenario could occur, for example, if a previously encrypted drive was brought out of compliance by change in policy settings. If multiple changes are necessary to bring the drive into compliance, BitLocker protection may need to be suspended, the necessary changes made, and then protection resumed. Such situation could occur, for example, if a removable drive is initially configured for unlock with a password but then policy settings are changed to disallow passwords and require smart cards. In this situation, BitLocker protection needs to be suspended by using the [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line tool, delete the password unlock method, and add the smart card method. After this process is complete, BitLocker is compliant with the policy setting, and BitLocker protection on the drive can be resumed. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md index 4ec300b0ea..24bf776ecd 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md @@ -116,7 +116,7 @@ Before a thorough BitLocker recovery process is created, it's recommended to tes 2. Right select on **cmd.exe** or **Command Prompt** and then select **Run as administrator**. -3. At the command prompt, enter the following command: +3. At the Command Prompt, enter the following command: ```cmd manage-bde.exe -forcerecovery @@ -128,7 +128,7 @@ Before a thorough BitLocker recovery process is created, it's recommended to tes 2. Right select on **cmd.exe** or **Command Prompt** and then select **Run as administrator**. -3. At the command prompt, enter the following command: +3. At the Command Prompt, enter the following command: ```cmd manage-bde.exe -ComputerName -forcerecovery @@ -468,7 +468,7 @@ If the recovery methods discussed earlier in this document don't unlock the volu > [!NOTE] > The BitLocker Repair tool `repair-bde.exe` must be used to use the BitLocker key package. -The BitLocker key package isn't saved by default. To save the package along with the recovery password in AD DS, the **Backup recovery password and key package** option must be selected in the group policy settings that control the recovery method. The key package can also be exported from a working volume. For more information on how to export key packages, see [Retrieving the BitLocker Key Package](#retrieving-the-bitlocker-key-package). +The BitLocker key package isn't saved by default. To save the package along with the recovery password in AD DS, the **Backup recovery password and key package** option must be selected in the group policy settings that control the recovery method. The key package can also be exported from a working volume. For more information on how to export key packages, see [Retrieving the BitLocker Key Package](#retrieve-the-bitlocker-key-package). ## Resetting recovery passwords @@ -507,7 +507,7 @@ The recovery password and be invalidated and reset in two ways: > [!WARNING] > The braces `{}` must be included in the ID string. - + ### Example: retrieve Bitlocker recovery keys for a Microsoft Entra joined device @@ -568,6 +568,8 @@ Device name: DESKTOP-53O32QI Key id: 6a7e153f-d5e9-4547-96d6-174ff0d0bdb4 BitLocker recovery key: 241846-437393-298925-499389-123255-123640-709808-330682 ``` + + ### Repair tool The Repair Tool can reconstruct critical parts of the drive and salvage recoverable data, as long as a valid recovery password or recovery key is used to decrypt the data. If the BitLocker metadata data on the drive is corrupt, the backup key package in addition to the recovery password or recovery key must be supplied. With the key package and either the recovery password or recovery key, portions of a corrupted BitLocker-protected drive can be decrypted. Each key package works only for a drive that has the corresponding drive identifier diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index ac71140602..d22f6837fa 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -17,9 +17,9 @@ items: href: operations-guide.md - name: Network Unlock href: network-unlock.md - - name: Protect cluster shared volumes and storage area networks with BitLocker + - name: Cluster shared volumes and storage area networks href: csv-san.md - - name: BitLocker Recovery Guide + - name: BitLocker recovery guide href: recovery-guide.md - name: BitLocker Recovery Password Viewer href: recovery-password-viewer.md From 4a4aabf26cb2092d3f6c866d05789fc5476c382b Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 4 Oct 2023 15:01:31 -0700 Subject: [PATCH 080/505] xplat-copilot-8348943 --- windows/client-management/copilot-overview.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/windows/client-management/copilot-overview.md b/windows/client-management/copilot-overview.md index 03652ef8a4..557a48b03e 100644 --- a/windows/client-management/copilot-overview.md +++ b/windows/client-management/copilot-overview.md @@ -9,6 +9,19 @@ appliesto: # What is Copilot in Windows? -Copilot in Windows provides centralized generative AI assistance to your users right from the desktop. +>**Looking for consumer information?** See [Welcome to Copilot in Windows](https://support.microsoft.com/windows/welcome-to-copilot-in-windows-675708af-8c16-4675-afeb-85a5a476ccb0). + +Copilot in Windows provides centralized generative AI assistance to your users right from the Windows desktop. Copilot in Windows is a bit different from Copilot in Edge, which provides assistance in the browser. However, both user experiences can share the same underlying chat provider platform. + +## Chat provider platforms for Copilot in Windows + +Copilot in Windows uses one of the following chat provider platforms, dependant on your organization's configuration: + +- [Bing chat](https://www.microsoft.com/bing/do-more-with-ai/what-is-bing-chat-and-how-can-you-use-it), which is intended for consumer use scenarios +- [Bing chat enterprise](/bing-chat-enterprise/overview), which is intended for business use scenarios + - Bing chat enterprise is available, at no additional cost, for customers who are licensed for Microsoft 365 E3 or E5, A3 or A5 for faculty, Business Standard, or Business Premium. + + + + -## From b20a53a7c7b14877621fe0e32962b0d61a101376 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 5 Oct 2023 08:32:04 -0400 Subject: [PATCH 081/505] updates --- .../bitlocker/bitlocker-device-encryption.md | 95 ------------------- .../data-protection/bitlocker/configure.md | 3 +- .../data-protection/bitlocker/de.md | 27 ++++++ ...e-encryption-method-and-cipher-strength.md | 8 +- .../data-protection/bitlocker/index.md | 5 +- .../data-protection/bitlocker/toc.yml | 2 - 6 files changed, 35 insertions(+), 105 deletions(-) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/de.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md deleted file mode 100644 index a27714a6d9..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Overview of BitLocker Device Encryption -description: This article provides an overview of how BitLocker Device Encryption can help protect data on devices running Windows. -ms.collection: - - highpri - - tier1 -ms.topic: conceptual -ms.date: 11/08/2022 ---- - -# Overview of BitLocker device encryption - -## Prepare for drive and file encryption - -The best type of security measures is transparent to the user during implementation and use. Every time there's a possible delay or difficulty because of a security feature, there's a strong likelihood that users will try to bypass security. This situation is especially true for data protection, and that's a scenario that organizations need to avoid. Whether planning to encrypt entire volumes, removable devices, or individual files, Windows 11 and Windows 10 meet these needs by providing streamlined, usable solutions. In fact, several steps can be taken in advance to prepare for data encryption and make the deployment quick and smooth. - -## Deploy hard drive encryption - -BitLocker is capable of encrypting entire hard drives, including both system and data drives. BitLocker pre-provisioning can drastically reduce the time required to provision new PCs with BitLocker enabled. Administrators can turn on BitLocker and the TPM from within the Windows Pre-installation Environment before they install Windows or as part of an automated deployment task sequence without any user interaction. Combined with Used Disk Space Only encryption and a mostly empty drive (because Windows isn't yet installed), it takes only a few seconds to enable BitLocker. - -## BitLocker Device Encryption - -Windows automatically enables BitLocker Device Encryption on devices that support Modern Standby. - -Unlike a standard BitLocker implementation, BitLocker Device Encryption is enabled automatically so that the device is always protected. The following list outlines how BitLocker Device Encryption is enabled automatically: - -- When a clean installation of Windows 11 or Windows 10 is completed and the out-of-box experience is finished, the computer is prepared for first use. As part of this preparation, BitLocker Device Encryption is initialized on the operating system drive and fixed data drives on the computer with a clear key that is the equivalent of standard BitLocker suspended state. In this state, the drive is shown with a warning icon in Windows Explorer. The yellow warning icon is removed after the TPM protector is created and the recovery key is backed up, as explained in the following bullet points. - -- If the device isn't domain joined, a Microsoft account that has been granted administrative privileges on the device is required. When the administrator uses a Microsoft account to sign in, the clear key is removed, a recovery key is uploaded to the online Microsoft account, and a TPM protector is created. Should a device require the recovery key, the user will be guided to use an alternate device and navigate to a recovery key access URL to retrieve the recovery key by using their Microsoft account credentials. - -- If the user uses a domain account to sign in, the clear key isn't removed until the user joins the device to a domain, and the recovery key is successfully backed up to Active Directory Domain Services (AD DS). The following Group Policy settings must be enabled for the recovery key to be backed up to AD DS: - - *Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** - - With this configuration, the recovery password is created automatically when the computer joins the domain, and then the recovery key is backed up to AD DS, the TPM protector is created, and the clear key is removed. - -- Similar to signing in with a domain account, the clear key is removed when the user signs in to an Azure AD account on the device. As described in the bullet point above, the recovery password is created automatically when the user authenticates to Azure AD. Then, the recovery key is backed up to Azure AD, the TPM protector is created, and the clear key is removed. - -Microsoft recommends automatically enabling BitLocker Device Encryption on any systems that support it. However, the automatic BitLocker Device Encryption process can be prevented by changing the following registry setting: - -- **Subkey**: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker` -- **Type**: `REG_DWORD` -- **Value**: `PreventDeviceEncryption` equal to `1` (True) - -> [!NOTE] -> BitLocker Device Encryption uses the XTS-AES 128-bit encryption method. If a different encryption method and/or cipher strength is needed but the device is already encrypted, it must first be decrypted before the new encryption method and/or cipher strength can be applied. After the device has been decrypted, different BitLocker settings can be applied. - -## Used Disk Space Only encryption - -To reduce encryption time, BitLocker lets users choose to encrypt just the areas of the disk that contain data. Areas of the disk that don't contain data and are empty aren't be encrypted. Any new data is encrypted as it's created. Depending on the amount of data on the drive, this option can reduce the initial encryption time by more than 99 percent. - -Exercise caution when encrypting only used space on an existing volume on which confidential data may have already been stored in an unencrypted state. When using used space encryption, sectors where previously unencrypted data are stored can be recovered through disk-recovery tools until they're overwritten by new encrypted data. In contrast, encrypting only used space on a brand-new volume can significantly decrease deployment time without the security risk because all new data will be encrypted as it's written to the disk. - -## Encrypted hard drive support - -Encrypted hard drives provide onboard cryptographic capabilities to encrypt data on drives. This feature improves both drive and system performance by offloading cryptographic calculations from the device's processor to the drive itself. Data is rapidly encrypted by the drive by using dedicated, purpose-built hardware. If planning to use whole-drive encryption with Windows, Microsoft recommends researching hard drive manufacturers and models to determine whether any of their encrypted hard drives meet the security and budget requirements. - -For more information about encrypted hard drives, see [Encrypted hard drive](../encrypted-hard-drive.md). - -## Preboot information protection - -An effective implementation of information protection, like most security controls, considers usability and security. Users typically prefer a simple security experience. In fact, the more transparent a security solution becomes, the more likely users are to conform to it. - -It's crucial that organizations protect information on their PCs regardless of the state of the computer or the intent of users. This protection shouldn't be cumbersome to users. One undesirable and previously commonplace situation is when the user is prompted for input during preboot, and then again during Windows sign-in. Challenging users for input more than once should be avoided. - -Windows 11 and Windows 10 can enable a true SSO experience from the preboot environment on modern devices and in some cases even on older devices when robust information protection configurations are in place. The TPM in isolation is able to securely protect the BitLocker encryption key while it is at rest, and it can securely unlock the operating system drive. When the key is in use and thus in memory, a combination of hardware and Windows capabilities can secure the key and prevent unauthorized access through cold-boot attacks. Although other countermeasures like PIN-based unlock are available, they aren't as user-friendly; depending on the devices' configuration they may not offer additional security when it comes to key protection. For more information, see [BitLocker Countermeasures](bitlocker-countermeasures.md). - -## Manage passwords and PINs - -When BitLocker is enabled on a system drive and the PC has a TPM, users can be required to type a PIN before BitLocker will unlock the drive. Such a PIN requirement can prevent an attacker who has physical access to a PC from even getting to the Windows sign-in, which makes it almost impossible for the attacker to access or modify user data and system files. - -Requiring a PIN at startup is a useful security feature because it acts as a second authentication factor. However, this configuration comes with some costs. One of the most significant costs is the need to change the PIN regularly. In enterprises that used BitLocker with Windows 7 and the Windows Vista operating system, users had to contact systems administrators to update their BitLocker PIN or password. This requirement not only increased management costs but made users less willing to change their BitLocker PIN or password regularly. - -Windows 11 and Windows 10 users can update their BitLocker PINs and passwords themselves, without administrator credentials. Not only will this feature reduce support costs, but it could improve security, too, because it encourages users to change their PINs and passwords more often. In addition, Modern Standby devices don't require a PIN for startup: They're designed to start infrequently and have other mitigations in place that further reduce the attack surface of the system. - -For more information about how startup security works and the countermeasures that Windows 11 and Windows 10 provide, see [Protect BitLocker from pre-boot attacks](bitlocker-countermeasures.md). - -## Configure Network Unlock - -Some organizations have location specific data security requirements. Location specific data security requirements are most common in environments where high-value data is stored on PCs. The network environment may provide crucial data protection and enforce mandatory authentication. Therefore, policy states that those PCs shouldn't leave the building or be disconnected from the corporate network. Safeguards like physical security locks and geofencing may help enforce this policy as reactive controls. Beyond these safeguards, a proactive security control that grants data access only when the PC is connected to the corporate network is necessary. - -Network Unlock enables BitLocker-protected PCs to start automatically when connected to a wired corporate network on which Windows Deployment Services runs. Anytime the PC isn't connected to the corporate network, a user must type a PIN to unlock the drive (if PIN-based unlock is enabled). -Network Unlock requires the following infrastructure: - -- Client PCs that have Unified Extensible Firmware Interface (UEFI) firmware version 2.3.1 or later, which supports Dynamic Host Configuration Protocol (DHCP) - -- A server running at least Windows Server 2012 with the Windows deployment services (WDS) role - -- A server with the DHCP server role installed - -For more information about how to configure Network unlock feature, see [BitLocker: How to enable Network Unlock](network-unlock.md). - -## Microsoft BitLocker administration and monitoring - -Enterprises can use Microsoft Entra ID, Microsoft Intune and Configuration Manager for BitLocker administration and monitoring. For more information, see [Monitor device encryption with Intune](/mem/intune/protect/encryption-monitor). diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index bbc5a0a2da..c263c846b7 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -69,11 +69,10 @@ For Windows devices that are enrolled using **Connect to work or school account* ## Manage servers -Servers are often installed, configured, and deployed using PowerShell; therefore, the recommendation is to also use [PowerShell to enable BitLocker on a server](manage.md#bitlocker-cmdlets-for-windows-powershell), ideally as part of the initial setup. BitLocker is an Optional Component (OC) in Windows Server; therefore, follow the directions in [BitLocker: How to deploy on Windows Server 2012 and later](bitlocker-how-to-deploy-on-windows-server.md) to add the BitLocker OC. +Servers are often installed, configured, and deployed using PowerShell; therefore, the recommendation is to also use [PowerShell to enable BitLocker on a server](operations-guide.md), ideally as part of the initial setup. BitLocker is an Optional Component (OC) in Windows Server; therefore, follow the directions in [BitLocker: How to deploy on Windows Server 2012 and later](bitlocker-how-to-deploy-on-windows-server.md) to add the BitLocker OC. The Minimal Server Interface is a prerequisite for some of the BitLocker administration tools. On a [Server Core](/windows-server/get-started/getting-started-with-server-core/) installation, the necessary GUI components must be added first. The steps to add shell components to Server Core are described in [Using Features on Demand with Updated Systems and Patched Images](/archive/blogs/server_core/using-features-on-demand-with-updated-systems-and-patched-images) and [How to update local source media to add roles and features](/archive/blogs/joscon/how-to-update-local-source-media-to-add-roles-and-features). If a server is being installed manually, such as a stand-alone server, then choosing [Server with Desktop Experience](/windows-server/get-started/getting-started-with-server-with-desktop-experience/) is the easiest path because it avoids performing the steps to add a GUI to Server Core. Additionally, lights-out data centers can take advantage of the enhanced security of a second factor while avoiding the need for user intervention during reboots by optionally using a combination of BitLocker (TPM+PIN) and BitLocker Network Unlock. BitLocker Network Unlock brings together the best of hardware protection, location dependence, and automatic unlock, while in the trusted location. For the configuration steps, see [BitLocker: How to enable Network Unlock](network-unlock.md). - For more information, see the BitLocker FAQs article and other useful links in [Related Articles](#related-articles). diff --git a/windows/security/operating-system-security/data-protection/bitlocker/de.md b/windows/security/operating-system-security/data-protection/bitlocker/de.md new file mode 100644 index 0000000000..fb5e373d8a --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/de.md @@ -0,0 +1,27 @@ +## BitLocker Device Encryption + +Windows automatically enables BitLocker Device Encryption on devices that support Modern Standby. + +Unlike a standard BitLocker implementation, BitLocker Device Encryption is enabled automatically so that the device is always protected. The following list outlines how BitLocker Device Encryption is enabled automatically: + +- When a clean installation of Windows 11 or Windows 10 is completed and the out-of-box experience is finished, the computer is prepared for first use. As part of this preparation, BitLocker Device Encryption is initialized on the operating system drive and fixed data drives on the computer with a clear key that is the equivalent of standard BitLocker suspended state. In this state, the drive is shown with a warning icon in Windows Explorer. The yellow warning icon is removed after the TPM protector is created and the recovery key is backed up, as explained in the following bullet points. + +- If the device isn't domain joined, a Microsoft account that has been granted administrative privileges on the device is required. When the administrator uses a Microsoft account to sign in, the clear key is removed, a recovery key is uploaded to the online Microsoft account, and a TPM protector is created. Should a device require the recovery key, the user will be guided to use an alternate device and navigate to a recovery key access URL to retrieve the recovery key by using their Microsoft account credentials. + +- If the user uses a domain account to sign in, the clear key isn't removed until the user joins the device to a domain, and the recovery key is successfully backed up to Active Directory Domain Services (AD DS). The following Group Policy settings must be enabled for the recovery key to be backed up to AD DS: + + *Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** + + With this configuration, the recovery password is created automatically when the computer joins the domain, and then the recovery key is backed up to AD DS, the TPM protector is created, and the clear key is removed. + +- Similar to signing in with a domain account, the clear key is removed when the user signs in to an Azure AD account on the device. As described in the bullet point above, the recovery password is created automatically when the user authenticates to Azure AD. Then, the recovery key is backed up to Azure AD, the TPM protector is created, and the clear key is removed. + +Microsoft recommends automatically enabling BitLocker Device Encryption on any systems that support it. However, the automatic BitLocker Device Encryption process can be prevented by changing the following registry setting: + +- **Subkey**: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker` +- **Type**: `REG_DWORD` +- **Value**: `PreventDeviceEncryption` equal to `1` (True) + +> [!NOTE] +> BitLocker Device Encryption uses the XTS-AES 128-bit encryption method. If a different encryption method and/or cipher strength is needed but the device is already encrypted, it must first be decrypted before the new encryption method and/or cipher strength can be applied. After the device has been decrypted, different BitLocker settings can be applied. + diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md index 88ccec14b7..08d1256f7d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md @@ -9,14 +9,14 @@ ms.topic: include With this policy you can configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. -Recommended settings: +Recommended settings: `XTS-AES` alhorithm for all drives. The choice of key size, 128 bit or 256 bit depends on the performance of the device. For more performant hard drives and CPU, choose 256 bit key, for less performant ones use 128. -- For fixed and operating system drives: `XTS-AES` algorithm -- For removable drives: `AES-CBC 128-bit` or `AES-CBC 256-bit` +> [!IMPORTANT] +> Key size might be required by regulators or industry. If you disable or do not configure this policy setting, BitLocker uses the default encryption method of `XTS-AES 128-bit`. -> [!WARNING] +> [!NOTE] > This policy doesn't apply to encrypted drives. Encrypted drives utilize their own algorithm, which is set by the drive during partitioning. | | Path | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index f3212e3be4..3643d58c5a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -40,16 +40,17 @@ BitLocker has the following requirements: - The hard disk must be partitioned with at least two drives: - The *operating system drive* (or boot drive) contains the OS and its support files. It must be formatted with the NTFS file system - - The *system drive* contains the files that are needed to load Windows after the firmware has prepared the system hardware. BitLocker isn't enabled on this drive. For BitLocker to work, the system drive: + - The *system drive* contains files required to boot, decrypt, and load the operating system. BitLocker isn't enabled on this drive. For BitLocker to work, the system drive: - must not be encrypted - must differ from the operating system drive - must be formatted with the FAT32 file system on computers that use UEFI-based firmware, or with the NTFS file system on computers that use BIOS firmware - it's recommended that to be approximately 350 MB in size. After BitLocker is turned on, it should have approximately 250 MB of free space + > [!IMPORTANT] > When installed on a new device, Windows automatically creates the partitions that are required for BitLocker. > -> An encrypted partition can't be marked as active. +> If the drive was prepared as a single contiguous space, BitLocker requires a new volume to hold the boot files. `BdeHdCfg.exe` can create the volume. For more information about using the tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. > [!NOTE] > When installing the BitLocker optional component on a server, the *Enhanced Storage* feature must be installed. The feature is used to support hardware encrypted drives. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index d22f6837fa..a70684b263 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -5,8 +5,6 @@ items: href: countermeasures.md - name: Plan for a BitLocker deployment href: plan.md -- name: BitLocker device encryption - href: bitlocker-device-encryption.md - name: How-to guides items: - name: Enable BitLocker on Windows Server From 3ca487b1eac524fa79167f9c557ece3e107e3e55 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 5 Oct 2023 10:07:02 -0400 Subject: [PATCH 082/505] merging articles --- ...blishing.redirection.windows-security.json | 30 +- .../data-protection/bitlocker/configure.md | 9 +- .../bitlocker/countermeasures.md | 12 +- .../data-protection/bitlocker/de.md | 27 - .../data-protection/bitlocker/faq.yml | 2 +- .../data-protection/bitlocker/index.md | 7 +- .../bitlocker/management-tools.md | 550 ++++++++++++++++++ .../data-protection/bitlocker/plan.md | 112 +++- .../bitlocker/policy-settings.md | 2 +- .../bitlocker/recovery-guide.md | 10 +- 10 files changed, 695 insertions(+), 66 deletions(-) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/de.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/management-tools.md diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index bb4fc5e7f4..6e304d3de1 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -7416,12 +7416,12 @@ "redirect_document_id": false }, { - "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md", - "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption", + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/policy-settings", "redirect_document_id": false }, { - "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-group-policy-settings.md", + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md", "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/policy-settings", "redirect_document_id": false }, @@ -7435,6 +7435,11 @@ "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/recovery", "redirect_document_id": false }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-recovery-password-viewer.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/recovery-password-viewer", + "redirect_document_id": false + }, { "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-enable-network-unlock.md", "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/network-unlock", @@ -7445,6 +7450,11 @@ "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/configure", "redirect_document_id": false }, + { + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/configure", + "redirect_document_id": false + }, { "source_path": "windows/security/operating-system-security/data-protection/bitlocker/prepare-your-organization-for-bitlocker-planning-and-policies.md", "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/plan", @@ -7460,24 +7470,14 @@ "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/csv-san", "redirect_document_id": false }, - { - "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-deployment-comparison.md", - "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/policy-settings", - "redirect_document_id": false - }, { "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-deploy-on-windows-server.md", "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/enable-server", "redirect_document_id": false }, { - "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-management-for-enterprises.md", - "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/configure", - "redirect_document_id": false - }, - { - "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-use-bitlocker-recovery-password-viewer.md", - "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/recovery-password-viewer.md", + "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker#device-encryption", "redirect_document_id": false } ] diff --git a/windows/security/operating-system-security/data-protection/bitlocker/configure.md b/windows/security/operating-system-security/data-protection/bitlocker/configure.md index c263c846b7..cf84c40e8a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/configure.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/configure.md @@ -44,8 +44,7 @@ To configure BitLocker, you can use: ## BitLocker management - -The ideal solution for BitLocker management is to eliminate the need for IT administrators to set management policies using tools or other mechanisms by having Windows perform tasks that are more practical to automate. The growth of TPM 2.0, secure boot, and other hardware improvements, for example, have helped to alleviate the support burden on help desks and a decrease in support-call volumes, yielding improved user satisfaction. +The ideal solution for BitLocker management is to eliminate the need for IT administrators to set management policies using tools or other mechanisms by having Windows perform tasks that are more practical to automate. The growth of TPM 2.0, secure boot, and other hardware improvements, for example, have helped to alleviate the support burden on help desks and a decrease in support-call volumes, yielding improved user satisfaction. This article links to relevant documentation, products, and services to help answer frequently asked questions, and also provides BitLocker recommendations for different types of computers. @@ -57,11 +56,11 @@ Companies that image their own computers using Configuration Manager can use an ## Manage Microsoft Entra joined devices -Devices joined to Azure AD are managed using Mobile Device Management (MDM) policy from an MDM solution such as Microsoft Intune. Prior to Windows 10, version 1809, only local administrators can enable BitLocker via Intune policy. Starting with Windows 10, version 1809, Intune can enable BitLocker for standard users. [BitLocker Device Encryption](bitlocker-device-encryption.md) status can be queried from managed machines via the [Policy Configuration Settings Provider (CSP)](/windows/client-management/mdm/policy-configuration-service-provider/), which reports on whether BitLocker Device Encryption is enabled on the device. Compliance with BitLocker Device Encryption policy can be a requirement for [Conditional Access](https://www.microsoft.com/cloud-platform/conditional-access/) to services like Exchange Online and SharePoint Online. +Devices joined to Azure AD are managed using Mobile Device Management (MDM) policy from an MDM solution such as Microsoft Intune. Prior to Windows 10, version 1809, only local administrators can enable BitLocker via Intune policy. Intune can enable BitLocker for standard users. [Device Encryption](index.md#device-encryption) status can be queried from managed machines via the [Policy Configuration Settings Provider (CSP)](/windows/client-management/mdm/policy-configuration-service-provider/), which reports on whether BitLocker Device Encryption is enabled on the device. Compliance with BitLocker Device Encryption policy can be a requirement for [Conditional Access](https://www.microsoft.com/cloud-platform/conditional-access/) to services like Exchange Online and SharePoint Online. The enablement of BitLocker can be triggered over MDM either by the [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider/) or the [BitLocker CSP](/windows/client-management/mdm/bitlocker-csp/). The BitLocker CSP adds policy options that go beyond ensuring that encryption has occurred. -For hardware that is compliant with Modern Standby and HSTI, when using either of these features, [BitLocker Device Encryption](bitlocker-device-encryption.md) is automatically turned on whenever the user joins a device to Azure AD. Azure AD provides a portal where recovery keys are also backed up, so users can retrieve their own recovery key for self-service, if necessary. +For hardware that is compliant with Modern Standby and HSTI, when using either of these features, [Device Encryption](index.md#device-encryption) is automatically turned on whenever the user joins a device to Azure AD. Azure AD provides a portal where recovery keys are also backed up, so users can retrieve their own recovery key for self-service, if necessary. ## Manage Microsoft Entra registered devices @@ -69,7 +68,7 @@ For Windows devices that are enrolled using **Connect to work or school account* ## Manage servers -Servers are often installed, configured, and deployed using PowerShell; therefore, the recommendation is to also use [PowerShell to enable BitLocker on a server](operations-guide.md), ideally as part of the initial setup. BitLocker is an Optional Component (OC) in Windows Server; therefore, follow the directions in [BitLocker: How to deploy on Windows Server 2012 and later](bitlocker-how-to-deploy-on-windows-server.md) to add the BitLocker OC. +Servers are often installed, configured, and deployed using PowerShell; therefore, the recommendation is to also use [PowerShell to enable BitLocker on a server](operations-guide.md), ideally as part of the initial setup. BitLocker is an Optional Component (OC) in Windows Server; therefore, follow the directions in [BitLocker: How to deploy on Windows Server](bitlocker-how-to-deploy-on-windows-server.md) to add the BitLocker OC. The Minimal Server Interface is a prerequisite for some of the BitLocker administration tools. On a [Server Core](/windows-server/get-started/getting-started-with-server-core/) installation, the necessary GUI components must be added first. The steps to add shell components to Server Core are described in [Using Features on Demand with Updated Systems and Patched Images](/archive/blogs/server_core/using-features-on-demand-with-updated-systems-and-patched-images) and [How to update local source media to add roles and features](/archive/blogs/joscon/how-to-update-local-source-media-to-add-roles-and-features). diff --git a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index 114384f149..8b10a6d887 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -124,8 +124,8 @@ Mitigation: - **Computer Configuration** > **Policies** > **Administrative Templates** > **Windows Components** > **File Explorer** > **Show hibernate in the power options menu** - **Computer Configuration** > **Policies** > **Administrative Templates** > **Power Management** > **Sleep Settings** > - - **Allow standby states (S1-S3) when sleeping (plugged in)** - - **Allow standby states (S1-S3) when sleeping (on battery)** + - **Allow standby states (S1-S3) when sleeping (plugged in)** + - **Allow standby states (S1-S3) when sleeping (on battery)** > [!IMPORTANT] > These settings are **not configured** by default. @@ -136,4 +136,10 @@ For secure administrative workstations, it's recommended to: - use a TPM with PIN protector - disable standby power management -- shut down or hibernate the device before it leaves the control of an authorized user \ No newline at end of file +- shut down or hibernate the device before it leaves the control of an authorized user + +## Next steps + +> [!div class="nextstepaction"] +> Learn how to plan for a BitLocker deployment in your organization: +> [Plan for a BitLocker deployment >](plan.md) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/de.md b/windows/security/operating-system-security/data-protection/bitlocker/de.md deleted file mode 100644 index fb5e373d8a..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/de.md +++ /dev/null @@ -1,27 +0,0 @@ -## BitLocker Device Encryption - -Windows automatically enables BitLocker Device Encryption on devices that support Modern Standby. - -Unlike a standard BitLocker implementation, BitLocker Device Encryption is enabled automatically so that the device is always protected. The following list outlines how BitLocker Device Encryption is enabled automatically: - -- When a clean installation of Windows 11 or Windows 10 is completed and the out-of-box experience is finished, the computer is prepared for first use. As part of this preparation, BitLocker Device Encryption is initialized on the operating system drive and fixed data drives on the computer with a clear key that is the equivalent of standard BitLocker suspended state. In this state, the drive is shown with a warning icon in Windows Explorer. The yellow warning icon is removed after the TPM protector is created and the recovery key is backed up, as explained in the following bullet points. - -- If the device isn't domain joined, a Microsoft account that has been granted administrative privileges on the device is required. When the administrator uses a Microsoft account to sign in, the clear key is removed, a recovery key is uploaded to the online Microsoft account, and a TPM protector is created. Should a device require the recovery key, the user will be guided to use an alternate device and navigate to a recovery key access URL to retrieve the recovery key by using their Microsoft account credentials. - -- If the user uses a domain account to sign in, the clear key isn't removed until the user joins the device to a domain, and the recovery key is successfully backed up to Active Directory Domain Services (AD DS). The following Group Policy settings must be enabled for the recovery key to be backed up to AD DS: - - *Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** - - With this configuration, the recovery password is created automatically when the computer joins the domain, and then the recovery key is backed up to AD DS, the TPM protector is created, and the clear key is removed. - -- Similar to signing in with a domain account, the clear key is removed when the user signs in to an Azure AD account on the device. As described in the bullet point above, the recovery password is created automatically when the user authenticates to Azure AD. Then, the recovery key is backed up to Azure AD, the TPM protector is created, and the clear key is removed. - -Microsoft recommends automatically enabling BitLocker Device Encryption on any systems that support it. However, the automatic BitLocker Device Encryption process can be prevented by changing the following registry setting: - -- **Subkey**: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker` -- **Type**: `REG_DWORD` -- **Value**: `PreventDeviceEncryption` equal to `1` (True) - -> [!NOTE] -> BitLocker Device Encryption uses the XTS-AES 128-bit encryption method. If a different encryption method and/or cipher strength is needed but the device is already encrypted, it must first be decrypted before the new encryption method and/or cipher strength can be applied. After the device has been decrypted, different BitLocker settings can be applied. - diff --git a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml index 65d30718ad..6590f2c779 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml @@ -118,7 +118,7 @@ sections: - question: What is *Used Disk Space Only* encryption? answer: | - BitLocker lets users choose to encrypt just their data. Although it's not the most secure way to encrypt a drive, this option can reduce encryption time by more than 99 percent, depending on how much data that needs to be encrypted. For more information, see [Used Disk Space Only encryption](bitlocker-device-encryption.md#used-disk-space-only-encryption). + BitLocker lets users choose to encrypt just their data. Although it's not the most secure way to encrypt a drive, this option can reduce encryption time by more than 99 percent, depending on how much data that needs to be encrypted. For more information, see [Used Disk Space Only encryption](plan.md#used-disk-space-only-encryption). - question: What system changes would cause the integrity check on the OS drive to fail? answer: | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index 3643d58c5a..03e0838920 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -46,7 +46,6 @@ BitLocker has the following requirements: - must be formatted with the FAT32 file system on computers that use UEFI-based firmware, or with the NTFS file system on computers that use BIOS firmware - it's recommended that to be approximately 350 MB in size. After BitLocker is turned on, it should have approximately 250 MB of free space - > [!IMPORTANT] > When installed on a new device, Windows automatically creates the partitions that are required for BitLocker. > @@ -55,6 +54,10 @@ BitLocker has the following requirements: > [!NOTE] > When installing the BitLocker optional component on a server, the *Enhanced Storage* feature must be installed. The feature is used to support hardware encrypted drives. +## Device Encryption + +*Device Encryption* is a security feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device Encryption requires a device to meet either [Modern Standby](/windows-hardware/design/device-experiences/modern-standby) or HSTI security requirements, and have no externally accessible ports that allow DMA access. + [!INCLUDE [bitlocker](../../../../../includes/licensing/bitlocker-enablement.md)] > [!NOTE] @@ -64,4 +67,4 @@ BitLocker has the following requirements: > [!div class="nextstepaction"] > Learn about technologies and features to protect against attacks on the BitLocker encryption key: -> [BitLocker countermeasures >](countermeasures.md) \ No newline at end of file +> [BitLocker countermeasures >](countermeasures.md) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/management-tools.md b/windows/security/operating-system-security/data-protection/bitlocker/management-tools.md new file mode 100644 index 0000000000..7890113b2b --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/management-tools.md @@ -0,0 +1,550 @@ +--- +title: BitLocker management tools +description: Learn how to use different tools to operate BitLocker. +ms.collection: + - tier1 +ms.topic: how-to +ms.date: 07/25/2023 +--- + +# BitLocker management tools + +There are differnt tools and options to manage and operate BitLocker: + +- the BitLocker PowerShell module +- the BitLocker drive encryption tools +- Control Panel + +The BitLocker drive encryption tools and BitLocker PowerShell module can be used to perform any tasks that can be accomplished through the BitLocker control panel. They are appropriate to use for automated deployments and other scripting scenarios.\ +The BitLocker Control Panel applet allows users to perform basic tasks such as turning on BitLocker on a drive and specifying unlock methods and authentication methods. The BitLocker Control Panel applet is appropriate to use for basic BitLocker tasks. + +This article describes the BitLocker management tools and how to use them, providing practical examples. + +## BitLocker PowerShell module + +The BitLocker PowerShell module enables administrators to integrate BitLocker options into existing scripts with ease. For a list of cmdlets included in module, their description and syntax, che the [BitLocker PowerShell reference article](/powershell/module/bitlocker). + +## BitLocker drive encryption tools + +The BitLocker drive encryption tools include the two command-line tools: + +- *Configuration Tool* (`manage-bde.exe`) can be used for scripting BitLocker operations, offering options that aren't present in the BitLocker Control Panel applet. For a complete list of the `manage-bde.exe` options, see the [Manage-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) command-line reference +- *Repair Tool* (`repair-bde.exe`) is useful for disaster recovery scenarios, in which a BitLocker protected drive can't be unlocked normally or using the recovery console + +### Repair tool + +The Repair Tool can reconstruct critical parts of the drive and salvage recoverable data, as long as a valid recovery password or recovery key is used to decrypt the data. If the BitLocker metadata data on the drive is corrupt, the backup key package in addition to the recovery password or recovery key must be supplied. With the key package and either the recovery password or recovery key, portions of a corrupted BitLocker-protected drive can be decrypted. Each key package works only for a drive that has the corresponding drive identifier + +> [!TIP] +> If recovery information is not backed up to AD DS or if key packages need to be saved in an alternative way, use the following command to generate a key package for a volume: +> +> `manage-bde.exe -KeyPackage` + +The Repair Tool is intended for use when the operating system doesn't start or when the BitLocker Recovery Console can't be started. Use Repair-bde in the following conditions: + +- The drive is encrypted using BitLocker Drive Encryption +- Windows doesn't start, or the BitLocker recovery console can't start +- There isn't a backup copy of the data that is contained on the encrypted drive + +> [!NOTE] +> Damage to the drive may not be related to BitLocker. Therefore, it is recommended to try other tools to help diagnose and resolve the problem with the drive before using the BitLocker Repair Tool. The Windows Recovery Environment (Windows RE) provides additional options to repair computers. + +The following limitations exist for Repair-bde: + +- it can't repair a drive that failed during the encryption or decryption process +- it assumes that if the drive has any encryption, then the drive is fully encrypted + +For more information about using repair-bde, see [Repair-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829851(v=ws.11)). + +## Using BitLocker to encrypt volumes + +BitLocker provides full volume encryption (FVE) for operating system volumes, and fixed and removable data drives. To support fully encrypted operating system drives, BitLocker uses an unencrypted system partition for the files required to boot, decrypt, and load the operating system. This volume is automatically created during a new installation of both client and server operating systems. + +If the drive was prepared as a single contiguous space, BitLocker requires a new volume to hold the boot files. BdeHdCfg.exe can create these volumes. + +> [!NOTE] +> For more info about using this tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. + +`Manage-bde.exe` is a command-line utility that can be used for scripting BitLocker operations. `Manage-bde.exe` offers additional options not displayed in the BitLocker control panel. For a complete list of the options, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). + +`Manage-bde.exe` offers a multitude of wider options for configuring BitLocker. Using the command syntax may require care. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed. For the volume to be fully protected, an authentication method needs to also be added to the volume in addition to running the `manage-bde.exe`command. + +Command-line users need to determine the appropriate syntax for a given situation. The following section covers general encryption for operating system volumes and data volumes. + +## Example: check the BitLocker status + +To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLocker control panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. + +Follow the instructions below verify the status of BitLocker, selecting the tool of your choice. + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + +To determine the current state of a volume you can use the `Get-BitLockerVolume` cmdlet, which provides information on the volume type, protectors, protection status, and other details. For example: + +```powershell +PS C:\> Get-BitLockerVolume C: | fl + +ComputerName : DESKTOP +MountPoint : C: +EncryptionMethod : XtsAes128 +AutoUnlockEnabled : +AutoUnlockKeyStored : False +MetadataVersion : 2 +VolumeStatus : FullyEncrypted +ProtectionStatus : On +LockStatus : Unlocked +EncryptionPercentage : 100 +WipePercentage : 0 +VolumeType : OperatingSystem +CapacityGB : 1000 +KeyProtector : {Tpm, RecoveryPassword} +``` + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + +With `manage-bde.exe` you can determine the volume status on the target system, for example: + +`manage-bde.exe -status` + +This command returns the volumes on the target, current encryption status, encryption method, and volume type (operating system or data) for each volume. + +```cmd +C:\>manage-bde -status + +Volume C: [Local Disk] +[OS Volume] + + Size: 1000 GB + BitLocker Version: 2.0 + Conversion Status: Used Space Only Encrypted + Percentage Encrypted: 100.0% + Encryption Method: XTS-AES 128 + Protection Status: Protection On + Lock Status: Unlocked + Identification Field: Unknown + Key Protectors: + TPM + Numerical Password +``` + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +Checking BitLocker status with the control panel is a common method used by most users. Once opened, the status for each volume is displayed next to the volume description and drive letter. Available status return values with applet include: + +| Status | Description | +| - | - | +| **On**|BitLocker is enabled for the volume | +| **Off**| BitLocker isn't enabled for the volume | +| **Suspended** | BitLocker is suspended and not actively protecting the volume | +| **Waiting for Activation**| BitLocker is enabled with a clear protector key and requires further action to be fully protected| + +If a drive is pre-provisioned with BitLocker, a status of **Waiting for Activation** displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, PowerShell or `manage-bde.exe` tool to add an appropriate key protector. Once complete, the Control Panel will update to reflect the new status. + +--- + +## Example: enable BitLocker + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + +The following example shows how to enable BitLocker on an operating system drive using only the TPM protector: + +```powershell +Enable-BitLocker C: +``` + +In the next example, we add one more protector, the *StartupKey* protector, and choose to skip the BitLocker hardware test. Encryption starts immediately without the need for a reboot: + +```powershell +Enable-BitLocker C: -StartupKeyProtector -StartupKeyPath -SkipHardwareTest +``` + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + +Using only the `manage-bde.exe -on ` command encrypts the operating system volume with a TPM-only protector and no recovery key. However, you may require more secure protectors such as passwords or PIN, and expect to be able to recover information with a recovery key. + +### Enable BitLocker with a TPM only + +It's possible to encrypt the operating system volume without any defined protectors by using `manage-bde.exe`. Use this command: + +```cmd +manage-bde.exe -on C: +``` + +This command will encrypt the drive using the TPM as the protector. If users are unsure of the protector for a volume, they can use the `-protectors` option in `manage-bde.exe` to list this information by executing the following command: + +```cmd +manage-bde.exe -protectors -get +``` + +### Provisioning BitLocker with two protectors + +Another example is a user on a non-TPM hardware who wishes to add a password and SID-based protector to the operating system volume. In this instance, the user adds the protectors first. Adding the protectors is done with the command: + +```cmd +manage-bde.exe -protectors -add C: -pw -sid +``` + +This command requires the user to enter and then confirm the password protectors before adding them to the volume. With the protectors enabled on the volume, the user just needs to turn on BitLocker. + +A common protector for a data volume is the password protector. In the next example, a password protector is added to the volume and turn on BitLocker. + +```powershell +manage-bde.exe -protectors -add -pw C: +manage-bde.exe -on C: +``` +### Enabling BitLocker without a TPM + +Suppose BitLocker is desired on a computer without a TPM. In this scenario, a USB flash drive is needed as a startup key for the operating system volume. The startup key will then allow the computer to boot. To create the startup key using `manage-bde.exe`, the `-protectors` switch would be used specifying the `-startupkey` option. Assuming the USB flash drive is drive letter `E:`, then the following `manage-bde.exe` commands would be used t create the startup key and start the BitLocker encryption: + +```powershell +manage-bde.exe -protectors -add C: -startupkey E: +manage-bde.exe -on C: +``` + +If prompted, reboot the computer to complete the encryption process. + +### Data volume commands + +Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: + +```cmd +manage-bde.exe -on +``` + +Or users can choose to add protectors to the volume. It is recommended to add at least one primary protector and a recovery protector to a data volume. + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +Encrypting volumes with the BitLocker control panel (select **Start**, enter `BitLocker`, select **Manage BitLocker**) is how many users will use BitLocker. The name of the BitLocker control panel is BitLocker Drive Encryption. The BitLocker control panel supports encrypting operating system, fixed data, and removable data volumes. The BitLocker control panel will organize available drives in the appropriate category based on how the device reports itself to Windows. Only formatted volumes with assigned drive letters will appear properly in the BitLocker control panel applet. + +To start encryption for a volume, select **Turn on BitLocker** for the appropriate drive to initialize the **BitLocker Drive Encryption Wizard**. **BitLocker Drive Encryption Wizard** options vary based on volume type (operating system volume or data volume). + +### Operating system volume + +For the operating system volume the **BitLocker Drive Encryption Wizard** presents several screens that prompt for options while it performs several actions: + +1. When the **BitLocker Drive Encryption Wizard** first launches, it verifies the computer meets the BitLocker system requirements for encrypting an operating system volume. By default, the system requirements are: + + If the volume doesn't pass the initial configuration for BitLocker, the user is presented with an error dialog describing the appropriate actions to be taken. + +2. Upon passing the initial configuration, users may be prompted to enter a password for the volume, for example, if a TPM isn't available. If a TPM is available, the password screen will be skipped. + +3. After the initial configuration/password screens, a recovery key will be generated. The **BitLocker Drive Encryption Wizard** will prompt for a location to save the recovery key. A BitLocker recovery key is a special key that is created when BitLocker Drive Encryption is turned on for the first time on each drive that is encrypted. The recovery key can be used to gain access to the computer if: + + - The drive that Windows is installed on (the operating system drive) is encrypted using BitLocker Drive Encryption + - BitLocker detects a condition that prevents it from unlocking the drive when the computer is starting up + + A recovery key can also be used to gain access to the files and folders on a removable data drive (such as an external hard drive or USB flash drive) that is encrypted using BitLocker To Go, if for some reason the password is forgotten or the computer can't access the drive. + + The recovery key can be stored using the following methods: + + - **Save to your Azure AD account** (if applicable) + - **Save to a USB flash drive** + - **Save to a file** - the file needs to be saved to a location that isn't on the computer itself such as a network folder or OneDrive + - **Print the recovery key** + + The recovery key can't be stored at the following locations: + + - The drive being encrypted + - The root directory of a non-removable/fixed drive + - An encrypted volume + + > [!TIP] + > Ideally, a computer's recovery key should be stored separate from the computer itself. + + > [!NOTE] + > After a recovery key is created, the BitLocker control panel can be used to make additional copies of the recovery key. + +4. The **BitLocker Drive Encryption Wizard** will then prompt how much of the drive to encrypt. The **BitLocker Drive Encryption Wizard** will have two options that determine how much of the drive is encrypted: + + - **Encrypt used disk space only** - Encrypts only disk space that contains data. + - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption. + + Each of the methods is recommended in the following scenarios: + + - **Encrypt used disk space only**: + + - The drive has never had data + - Formatted or erased drives that in the past have never had confidential data that was never encrypted + + - **Encrypt entire drive** (full disk encryption): + + - Drives that currently have data + - Drives that currently have an operating system + - Formatted or erased drives that in the past had confidential data that was never encrypted + + > [!IMPORTANT] + > Deleted files appear as free space to the file system, which isn't encrypted by **used disk space only**. Until they are wiped or overwritten, deleted files hold information that could be recovered with common data forensic tools. + +5. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: + + - **New encryption mode** + - **Compatible mode** + + Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another computer with an older Windows operating system, then select **Compatible mode**. + +6. After selecting an encryption mode, the **BitLocker Drive Encryption Wizard** will give the option of running a BitLocker system check via the option **Run BitLocker system check**. This system check will ensure that BitLocker can properly access the recovery and encryption keys before the volume encryption begins. it's recommended run this system check before starting the encryption process. If the system check isn't run and a problem is encountered when the operating system attempts to start, the user will need to provide the recovery key to start Windows. + +After completing the system check (if selected), the **BitLocker Drive Encryption Wizard** will begin encryption. A reboot may be initiated to start encryption. If a reboot was initiated, if there was no TPM and a password was specified, the password will need to be entered to boot into the operating system volume. + +Users can check encryption status by checking the system notification area or the BitLocker control panel. + +Until encryption is completed, the only available options for managing BitLocker involve manipulation of the password protecting the operating system volume, backing up the recovery key, and turning off BitLocker. + +### Data volume + +Encrypting data volumes using the BitLocker control panel works in a similar fashion to encryption of the operating system volumes. Users select **Turn on BitLocker** within the BitLocker control panel to begin the **BitLocker Drive Encryption Wizard**. + +1. Upon launching the **BitLocker Drive Encryption Wizard**, unlike for operating system volumes, data volumes aren't required to pass any configuration tests for the **BitLocker Drive Encryption Wizard** to proceed + +2. A choice of authentication methods to unlock the drive appears. The available options are: + + - **Use a password to unlock the drive** + - **Use my smart card to unlock the drive** + - **Automatically unlock this drive on this computer** - Disabled by default but if enabled, this option will unlock the data volume without user input when the operating system volume is unlocked. + +3. The **BitLocker Drive Encryption Wizard** presents options for storage of the recovery key. These options are the same as for operating system volumes: + + - **Save to your Azure AD account** (if applicable) + - **Save to a USB flash drive** + - **Save to a file** - the file needs to be saved to a location that isn't on the computer itself such as a network folder or OneDrive + - **Print the recovery key** + +4. After saving the recovery key, the **BitLocker Drive Encryption Wizard** will show available options for encryption. These options are the same as for operating system volumes: + + - **Encrypt used disk space only** - Encrypts only disk space that contains data. + - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption. + +5. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: + + - **New encryption mode** + - **Compatible mode** + + Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another computer with an older Windows operating system, then select **Compatible mode**. + +6. The **BitLocker Drive Encryption Wizard** will display a final confirmation screen before the encryption process begins. Selecting **Start encrypting** begins encryption. + +Encryption status displays in the notification area or within the BitLocker control panel. + +### OneDrive option + +There's an option for storing the BitLocker recovery key using OneDrive. This option requires that computers aren't members of a domain and that the user is using a Microsoft Account. Local accounts don't give the option to use OneDrive. Using the OneDrive option is the default recommended recovery key storage method for computers that aren't joined to a domain. + +Users can verify whether the recovery key was saved properly by checking OneDrive for the BitLocker folder. The BitLocker folder on OneDrive is created automatically during the save process. The folder will contain two files, a `readme.txt` and the recovery key. For users storing more than one recovery password on their OneDrive, they can identify the required recovery key by looking at the file name. The recovery key ID is appended to the end of the file name. + +### Using BitLocker within Windows Explorer + +Windows Explorer allows users to launch the **BitLocker Drive Encryption Wizard** by right-clicking a volume and selecting **Turn On BitLocker**. This option is available on client computers by default. On servers, the BitLocker feature and the Desktop-Experience feature must first be installed for this option to be available. After selecting **Turn on BitLocker**, the wizard works exactly as it does when launched using the BitLocker control panel. + +--- + +## Manage BitLocker protectors + +Follow the instructions below manage BitLocker protectors, selecting the option that best suits your needs. + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + +To remove the existing protectors prior to provisioning BitLocker on the volume, use the `Remove-BitLockerKeyProtector` cmdlet. Running this cmdlet requires the GUID associated with the protector to be removed. + +The following commands return the list of key protectors and GUIDS: + +```PowerShell +$vol = Get-BitLockerVolume C: +$keyprotectors = $vol.KeyProtector +$keyprotectors +``` + +By using this information, the key protector for a specific volume can be removed using the command: + +```powershell +Remove-BitLockerKeyProtector : -KeyProtectorID "{GUID}" +``` + +> [!NOTE] +> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. + +Data volume encryption using Windows PowerShell is the same as for operating system volumes. Add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a +SecureString value to store the user-defined password. + +```powershell +$pw = Read-Host -AsSecureString + +Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw +``` + +> [!NOTE] +> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. + +The **ADAccountOrGroup** protector is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding an SID-based protector for the Cluster Name Object (CNO) that lets the disk properly failover and unlock to any member computer of the cluster. + +> [!WARNING] +> The SID-based protector requires the use of an additional protector such as TPM, PIN, recovery key, etc. when used on operating system volumes. + +To add an **ADAccountOrGroup** protector to a volume, either the domain SID is needed or the group name preceded by the domain and a backslash. In the example below, the **CONTOSO\\Administrator** account is added as a protector to the data volume G. + +```powershell +Enable-BitLocker G: -AdAccountOrGroupProtector -AdAccountOrGroup CONTOSO\Administrator +``` + +For users who wish to use the SID for the account or group, the first step is to determine the SID associated with the account. To get the specific SID for a user account in Windows PowerShell, use the following command: + +```powershell +Get-ADUser -filter {samaccountname -eq "administrator"} +``` + +> [!NOTE] +> Use of this command requires the RSAT-AD-PowerShell feature. + +> [!TIP] +> In addition to the Windows PowerShell command above, information about the locally logged on user and group membership can be found using: `WHOAMI /ALL`. This doesn't require the use of additional features. + +In the example below, the user wishes to add a domain SID-based protector to the previously encrypted operating system volume. The user knows the SID for the user account or group they wish to add and uses the following command: + +```powershell +Add-BitLockerKeyProtector C: -ADAccountOrGroupProtector -ADAccountOrGroup "" +``` + +> [!NOTE] +> Active Directory-based protectors are normally used to unlock Failover Cluster-enabled volumes. + +For Azure AD-joined computers, the recovery password should be stored in Azure AD. + +**Example**: *Use PowerShell to add a recovery password and back it up to Azure AD before enabling BitLocker* + +```powershell +Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector + +$BLV = Get-BitLockerVolume -MountPoint "C:" + +BackupToAAD-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId +``` + +For domain-joined computers, including servers, the recovery password should be stored in Active Directory Domain Services (AD DS). + +**Example**: *Use PowerShell to add a recovery password and back it up to AD DS before enabling BitLocker* + +```powershell +Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector + +$BLV = Get-BitLockerVolume -MountPoint "C:" + +Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId +``` + +PowerShell can then be used to enable BitLocker: + +**Example**: *Use PowerShell to enable BitLocker with a TPM protector* + +```powershell +Enable-BitLocker -MountPoint "D:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector +``` + +**Example**: *Use PowerShell to enable BitLocker with a TPM+PIN protector, in this case with a PIN set to 123456* + +```powershell +$SecureString = ConvertTo-SecureString "123456" -AsPlainText -Force + +Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pin $SecureString -TPMandPinProtector +``` + + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + +Listed below are examples of basic valid commands for operating system volumes. In general, using only the `manage-bde.exe -on ` command will encrypt the operating system volume with a TPM-only protector and no recovery key. However, many environments require more secure protectors such as passwords or PIN and expect information recovery with a recovery key. It's recommended to add at least one primary protector plus a recovery protector to an operating system volume. + +The following example illustrates enabling BitLocker on a computer without a TPM chip. Before beginning the encryption process, the startup key needed for BitLocker must be created and saved to a USB drive. When BitLocker is enabled for the operating system volume, BitLocker will need to access the USB flash drive to obtain the encryption key. In this example, the drive letter E represents the USB drive. Once the commands are run, it will prompt to reboot the computer to complete the encryption process. + +```cmd +manage-bde.exe -protectors -add C: -startupkey E: +manage-bde.exe -on C: +``` + +> [!NOTE] +> After the encryption is completed, the USB startup key must be inserted before the operating system can be started. + +An alternative to the startup key protector on non-TPM hardware is to use a password and an **ADaccountorgroup** protector to protect the operating system volume. In this scenario, the protectors are added first. To add the protectors, enter the following command: + +```cmd +manage-bde.exe -protectors -add C: -pw -sid +``` + +The above command will require the password protector to be entered and confirmed before adding them to the volume. With the protectors enabled on the volume, BitLocker can then be turned on. + +On computers with a TPM, it's possible to encrypt the operating system volume without defining any protectors using `manage-bde.exe`. To enable BitLocker on a computer with a TPM without defining any protectors, enter the following command: + +```cmd +manage-bde.exe -on C: +``` + +The above command encrypts the drive using the TPM as the default protector. If verify if a TPM protector is available, the list of protectors available for a volume can be listed by running the following command: + +```cmd + manage-bde.exe -protectors -get +``` + +Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: + +`manage-bde.exe -on ` + +or additional protectors can be added to the volume first. It's recommended to add at least one primary protector plus a recovery protector to a data volume. + +A common protector for a data volume is the password protector. In the example below, a password protector is added to the volume and then BitLocker is turned on. + +```cmd +manage-bde.exe -protectors -add -pw C: +manage-bde.exe -on C: +``` + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +Using the control panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. +The drive security window displays prior to changing the volume status. Selecting **Activate BitLocker** will complete the encryption process. + +Once BitLocker protector activation is completed, the completion notice is displayed. + +--- + +### Decrypt volumes + +Decrypting volumes removes BitLocker and any associated protectors from the volumes. Decryption should occur when protection is no longer required, and not as a troubleshooting step. + +#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) + +Windows PowerShell offers the ability to decrypt multiple drives in one pass. In the example below, the user has three encrypted volumes, which they wish to decrypt. + +Using the Disable-BitLocker command, they can remove all protectors and encryption at the same time without the need for more commands. An example of this command is: + +```powershell +Disable-BitLocker +``` + +If a user didn't want to input each mount point individually, using the `-MountPoint` parameter in an array can sequence the same command into one line without requiring additional user input. An example command is: + +```powershell +Disable-BitLocker -MountPoint E:,F:,G: +``` + +#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) + +Decryption with `manage-bde.exe` offers the advantage of not requiring user confirmation to start the process. Manage-bde uses the -off command to start the decryption process. A sample command for decryption is: + +```powershell +manage-bde.exe -off C: +``` + +This command disables protectors while it decrypts the volume and removes all protectors when decryption is complete. If users wish to check the status of the decryption, they can use the following command: + +```powershell +manage-bde.exe -status C: +``` + +#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) + +BitLocker decryption using the control panel is done using a wizard. The control panel can be called from Windows Explorer or by opening it directly. After opening the BitLocker control panel, users will select the **Turn off BitLocker** option to begin the process. +After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to the control panel. + +The control panel doesn't report decryption progress but displays it in the notification area of the task bar. Selecting the notification area icon will open a modal dialog with progress. + +Once decryption is complete, the drive updates its status in the control panel and becomes available for encryption. + +--- diff --git a/windows/security/operating-system-security/data-protection/bitlocker/plan.md b/windows/security/operating-system-security/data-protection/bitlocker/plan.md index fa50e850db..59d04fe105 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/plan.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/plan.md @@ -200,13 +200,115 @@ The FIPS setting can be edited by using the Security Policy Editor (`Secpol.msc` For more information about setting this policy, see [System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing](../../../threat-protection/security-policy-settings/system-cryptography-use-fips-compliant-algorithms-for-encryption-hashing-and-signing.md). +## Provisioning BitLocker during operating system deployment + +Administrators can enable BitLocker prior to operating system deployment from the Windows Pre-installation environment. Enabling BitLocker prior to the operating system deployment is done with a randomly generated clear key protector applied to the formatted volume and by encrypting the volume prior to running the Windows setup process. If the encryption uses the **Used Disk Space Only** option described later in this document, this step takes only a few seconds and incorporates well into regular deployment processes. + +## Deploy hard drive encryption + +BitLocker is capable of encrypting entire hard drives, including both system and data drives. BitLocker pre-provisioning can drastically reduce the time required to provision new PCs with BitLocker enabled. Administrators can turn on BitLocker and the TPM from within the Windows Pre-installation Environment before they install Windows or as part of an automated deployment task sequence without any user interaction. Combined with Used Disk Space Only encryption and a mostly empty drive (because Windows isn't yet installed), it takes only a few seconds to enable BitLocker. + +## Used Disk Space Only encryption + +To reduce encryption time, BitLocker lets users choose to encrypt just the areas of the disk that contain data. Areas of the disk that don't contain data and are empty aren't be encrypted. Any new data is encrypted as it's created. Depending on the amount of data on the drive, this option can reduce the initial encryption time by more than 99 percent. + +Exercise caution when encrypting only used space on an existing volume on which confidential data may have already been stored in an unencrypted state. When using used space encryption, sectors where previously unencrypted data are stored can be recovered through disk-recovery tools until they're overwritten by new encrypted data. In contrast, encrypting only used space on a brand-new volume can significantly decrease deployment time without the security risk because all new data will be encrypted as it's written to the disk. + +## Encrypted hard drive support + +Encrypted hard drives provide onboard cryptographic capabilities to encrypt data on drives. This feature improves both drive and system performance by offloading cryptographic calculations from the device's processor to the drive itself. Data is rapidly encrypted by the drive by using dedicated, purpose-built hardware. If planning to use whole-drive encryption with Windows, Microsoft recommends researching hard drive manufacturers and models to determine whether any of their encrypted hard drives meet the security and budget requirements. + +For more information about encrypted hard drives, see [Encrypted hard drive](../encrypted-hard-drive.md). + +## Preboot information protection + +An effective implementation of information protection, like most security controls, considers usability and security. Users typically prefer a simple security experience. In fact, the more transparent a security solution becomes, the more likely users are to conform to it. + +It's crucial that organizations protect information on their PCs regardless of the state of the computer or the intent of users. This protection shouldn't be cumbersome to users. One undesirable and previously commonplace situation is when the user is prompted for input during preboot, and then again during Windows sign-in. Challenging users for input more than once should be avoided. + +Windows 11 and Windows 10 can enable a true SSO experience from the preboot environment on modern devices and in some cases even on older devices when robust information protection configurations are in place. The TPM in isolation is able to securely protect the BitLocker encryption key while it is at rest, and it can securely unlock the operating system drive. When the key is in use and thus in memory, a combination of hardware and Windows capabilities can secure the key and prevent unauthorized access through cold-boot attacks. Although other countermeasures like PIN-based unlock are available, they aren't as user-friendly; depending on the devices' configuration they may not offer additional security when it comes to key protection. For more information, see [BitLocker Countermeasures](bitlocker-countermeasures.md). + +## Manage passwords and PINs + +When BitLocker is enabled on a system drive and the PC has a TPM, users can be required to type a PIN before BitLocker will unlock the drive. Such a PIN requirement can prevent an attacker who has physical access to a PC from even getting to the Windows sign-in, which makes it almost impossible for the attacker to access or modify user data and system files. + +Requiring a PIN at startup is a useful security feature because it acts as a second authentication factor. However, this configuration comes with some costs. One of the most significant costs is the need to change the PIN regularly. In enterprises that used BitLocker with Windows 7 and the Windows Vista operating system, users had to contact systems administrators to update their BitLocker PIN or password. This requirement not only increased management costs but made users less willing to change their BitLocker PIN or password regularly. + +Windows 11 and Windows 10 users can update their BitLocker PINs and passwords themselves, without administrator credentials. Not only will this feature reduce support costs, but it could improve security, too, because it encourages users to change their PINs and passwords more often. In addition, Modern Standby devices don't require a PIN for startup: They're designed to start infrequently and have other mitigations in place that further reduce the attack surface of the system. + +For more information about how startup security works and the countermeasures that Windows 11 and Windows 10 provide, see [Protect BitLocker from pre-boot attacks](bitlocker-countermeasures.md). + +## Configure Network Unlock + +Some organizations have location specific data security requirements. Location specific data security requirements are most common in environments where high-value data is stored on PCs. The network environment may provide crucial data protection and enforce mandatory authentication. Therefore, policy states that those PCs shouldn't leave the building or be disconnected from the corporate network. Safeguards like physical security locks and geofencing may help enforce this policy as reactive controls. Beyond these safeguards, a proactive security control that grants data access only when the PC is connected to the corporate network is necessary. + +Network Unlock enables BitLocker-protected PCs to start automatically when connected to a wired corporate network on which Windows Deployment Services runs. Anytime the PC isn't connected to the corporate network, a user must type a PIN to unlock the drive (if PIN-based unlock is enabled). +Network Unlock requires the following infrastructure: + +- Client PCs that have Unified Extensible Firmware Interface (UEFI) firmware version 2.3.1 or later, which supports Dynamic Host Configuration Protocol (DHCP) + +- A server running at least Windows Server 2012 with the Windows deployment services (WDS) role + +- A server with the DHCP server role installed + +For more information about how to configure Network unlock feature, see [BitLocker: How to enable Network Unlock](network-unlock.md). + +## Microsoft BitLocker administration and monitoring + +Enterprises can use Microsoft Entra ID, Microsoft Intune and Configuration Manager for BitLocker administration and monitoring. For more information, see [Monitor device encryption with Intune](/mem/intune/protect/encryption-monitor). --> +## BitLocker Device Encryption -## Related articles +Windows automatically enables BitLocker Device Encryption on devices that support Modern Standby. -- [BitLocker frequently asked questions (FAQ)](faq.yml) -- [BitLocker](index.md) -- [BitLocker policy settings](policy-settings.md) -- [BitLocker basic deployment](bitlocker-basic-deployment.md) +Unlike a standard BitLocker implementation, BitLocker Device Encryption is enabled automatically so that the device is always protected. The following list outlines how BitLocker Device Encryption is enabled automatically: + +- When a clean installation of Windows 11 or Windows 10 is completed and the out-of-box experience is finished, the computer is prepared for first use. As part of this preparation, BitLocker Device Encryption is initialized on the operating system drive and fixed data drives on the computer with a clear key that is the equivalent of standard BitLocker suspended state. In this state, the drive is shown with a warning icon in Windows Explorer. The yellow warning icon is removed after the TPM protector is created and the recovery key is backed up, as explained in the following bullet points. + +- If the device isn't domain joined, a Microsoft account that has been granted administrative privileges on the device is required. When the administrator uses a Microsoft account to sign in, the clear key is removed, a recovery key is uploaded to the online Microsoft account, and a TPM protector is created. Should a device require the recovery key, the user will be guided to use an alternate device and navigate to a recovery key access URL to retrieve the recovery key by using their Microsoft account credentials. + +- If the user uses a domain account to sign in, the clear key isn't removed until the user joins the device to a domain, and the recovery key is successfully backed up to Active Directory Domain Services (AD DS). The following Group Policy settings must be enabled for the recovery key to be backed up to AD DS: + + *Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** + + With this configuration, the recovery password is created automatically when the computer joins the domain, and then the recovery key is backed up to AD DS, the TPM protector is created, and the clear key is removed. + +- Similar to signing in with a domain account, the clear key is removed when the user signs in to an Azure AD account on the device. As described in the bullet point above, the recovery password is created automatically when the user authenticates to Azure AD. Then, the recovery key is backed up to Azure AD, the TPM protector is created, and the clear key is removed. + +Microsoft recommends automatically enabling BitLocker Device Encryption on any systems that support it. However, the automatic BitLocker Device Encryption process can be prevented by changing the following registry setting: + +- **Subkey**: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker` +- **Type**: `REG_DWORD` +- **Value**: `PreventDeviceEncryption` equal to `1` (True) + +> [!NOTE] +> BitLocker Device Encryption uses the XTS-AES 128-bit encryption method. If a different encryption method and/or cipher strength is needed but the device is already encrypted, it must first be decrypted before the new encryption method and/or cipher strength can be applied. After the device has been decrypted, different BitLocker settings can be applied. + +*Device Encryption* is a Windows feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device Encryption is available on all Windows versions, including Home edition, but requires a device to meet either [Modern Standby](/windows-hardware/design/device-experiences/modern-standby) or HSTI security requirements, and have no externally accessible ports that allow DMA access. + +Device Encryption encrypts the data on a device immediately, but doesn't enable protection until the key is safely backed up to the user's Microsoft account. The encrypted device is left in a *clear key* state, where the encryption key is stored in plain text on the volume to allow free access to the data. Even though the data is encrypted, the device is completely unprotected in this state. In this *clear key* state, `manage-bde.exe` will show data as encrypted, but **Protection Off**, and no protectors yet added. Device encription-capable devices are in this state if no Microsoft account user signs in as an administrator of the device. Connecting to a Microsoft account and the internet causes the recovery key to back up, protector to be added (using the device's TPM), and protection to be enabled. + +Difference between BitLocker and Device Encryption (DE): + +- Device Encryption turn BitLocker on automatically on Device Encryption-qualifying devices, with the recovery key automatically backed up to the user's Microsoft account +- Device Encryption adds a Device Encryption setting in the Settings app + +Device Encryption facts: + +- Device Encryption enables BitLocker automatically once a Microsoft Account is signed in to the device and the recovery key gets successfully backed up to the user's account + - On Windows Home edition, Device Encryption enables BitLocker with limited management capabilities (via the BitLocker Control Panel applet only) + - On other Windows versions where *full* BitLocker is present, Device Encryption's effect is to turn BitLocker on automatically instead of waiting for manual activation + +- If a device uses only local accounts, then it remains unprotected even though the data is encrypted +- Device Encryption has a UI in the Settings app to turn it on/off +- If Device Encryption is turned off, it will no longer automatically enable itself in the future. The user must enable it manually in Settings +- If a device doesn't initially qualify for Device Encryption, but then a change is made that causes the device to qualify (for example, turn Secure Boot on), Device Encryption will enable BitLocker automatically as soon as it detects it (if Device Encryption wasn't previously turned off) +- Device Encryption is enabled as soon as the device completes OOBE, but the work to encrypt all existing data waits for both AC power and idle time to start the actual encryption, therefore full protection may not be complete immediately. In most cases, encryption takes only minutes to complete + +- The Settings UI will not show Device Encryption enabled until encryption is complete +- manage-bde.exe is available and has all capabilities on all versions of Windows +- Device Encryption encrypts only fixed drives, will not encrypt external/USB drives + +You can check whether a device meets requirements for Device Encryption in the System Information app (msinfo32.exe). (see below for more) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index 497ce21721..b812569735 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -141,4 +141,4 @@ If a device isn't compliant with the configured policy settings, BitLocker may n If multiple changes are necessary to bring the drive into compliance, BitLocker protection may need to be suspended, the necessary changes made, and then protection resumed. Such situation could occur, for example, if a removable drive is initially configured for unlock with a password but then policy settings are changed to disallow passwords and require smart cards. In this situation, BitLocker protection needs to be suspended by using the [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line tool, delete the password unlock method, and add the smart card method. After this process is complete, BitLocker is compliant with the policy setting, and BitLocker protection on the drive can be resumed. -In other scenarios, to bring the drive into compliance with a change in policy settings, BitLocker may need to be disabled and the drive decrypted followed by re-enabling BitLocker and then re-encrypting the drive. An example of this scenario is when the BitLocker encryption method or cipher strength is changed. The [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line can also be used in this scenario to help bring the device into compliance. \ No newline at end of file +In other scenarios, to bring the drive into compliance with a change in policy settings, BitLocker may need to be disabled and the drive decrypted followed by re-enabling BitLocker and then re-encrypting the drive. An example of this scenario is when the BitLocker encryption method or cipher strength is changed. The [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line can also be used in this scenario to help bring the device into compliance. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md index 24bf776ecd..fcf0720f3a 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md @@ -28,7 +28,7 @@ BitLocker recovery is the process by which access to a BitLocker-protected drive The following list provides examples of specific events that will cause BitLocker to enter recovery mode when attempting to start the operating system drive: -- On devices that use BitLocker drive encryption or [BitLocker Device Encryption](bitlocker-device-encryption.md), when an attack is detected the device will reboot and enter into BitLocker recovery mode. To take advantage of this functionality, administrators can set the **Interactive logon: Machine account lockout threshold** Group Policy setting located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** in the Local Group Policy Editor. Or they can use the **MaxFailedPasswordAttempts** policy of [Exchange ActiveSync](/Exchange/clients/exchange-activesync/exchange-activesync) (also configurable through [Microsoft Intune](/mem/intune)), to limit the number of failed password attempts before the device goes into Device Lockout. +- On devices that use BitLocker drive encryption or [Device Encryption](index.md#device-encryption), when an attack is detected the device will reboot and enter into BitLocker recovery mode. To take advantage of this functionality, administrators can set the **Interactive logon: Machine account lockout threshold** Group Policy setting located in **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** in the Local Group Policy Editor. Or they can use the **MaxFailedPasswordAttempts** policy of [Exchange ActiveSync](/Exchange/clients/exchange-activesync/exchange-activesync) (also configurable through [Microsoft Intune](/mem/intune)), to limit the number of failed password attempts before the device goes into Device Lockout. - On devices with TPM 1.2, changing the BIOS or firmware boot device order causes BitLocker recovery. However, devices with TPM 2.0 don't start BitLocker recovery in this case. TPM 2.0 doesn't consider a firmware change of boot device order as a security threat because the OS Boot Loader isn't compromised. @@ -301,9 +301,9 @@ If the USB flash drive that contains the startup key has been lost, then drive m This error occurs if the firmware is updated. As a best practice, BitLocker should be suspended before making changes to the firmware. Protection should then be resumed after the firmware update has completed. Suspending BitLocker prevents the computer from going into recovery mode. However, if changes were made when BitLocker protection was on, the recovery password can be used to unlock the drive and the platform validation profile will be updated so that recovery won't occur the next time. -## Windows RE and BitLocker Device Encryption +## Windows RE and Device Encryption -Windows Recovery Environment (RE) can be used to recover access to a drive protected by [BitLocker Device Encryption](bitlocker-device-encryption.md). If a device is unable to boot after two failures, Startup Repair automatically starts. When Startup Repair is launched automatically due to boot failures, it executes only operating system and driver file repairs if the boot logs or any available crash dump points to a specific corrupted file. Devices that include firmware to support specific TPM measurements for *PCR 7*, the TPM can validate that Windows RE is a trusted operating environment and unlock any BitLocker-protected drives if Windows RE hasn't been modified. If the Windows RE environment has been modified, for example, the TPM has been disabled, the drives stay locked until the BitLocker recovery key is provided. If Startup Repair isn't able to run automatically from the PC and instead, Windows RE is manually started from a repair disk, the BitLocker recovery key must be provided to unlock the BitLocker-protected drives. +Windows Recovery Environment (RE) can be used to recover access to a drive protected by [Device Encryption](index.md#device-encryption). If a device is unable to boot after two failures, Startup Repair automatically starts. When Startup Repair is launched automatically due to boot failures, it executes only operating system and driver file repairs if the boot logs or any available crash dump points to a specific corrupted file. Devices that include firmware to support specific TPM measurements for *PCR 7*, the TPM can validate that Windows RE is a trusted operating environment and unlock any BitLocker-protected drives if Windows RE hasn't been modified. If the Windows RE environment has been modified, for example, the TPM has been disabled, the drives stay locked until the BitLocker recovery key is provided. If Startup Repair isn't able to run automatically from the PC and instead, Windows RE is manually started from a repair disk, the BitLocker recovery key must be provided to unlock the BitLocker-protected drives. Windows RE will also ask for a BitLocker recovery key when a **Remove everything** reset from Windows RE is started on a device that uses **TPM + PIN** or **Password for OS drive** protectors. If BitLocker recovery is started on a keyboardless device with TPM-only protection, Windows RE, not the boot manager, will ask for the BitLocker recovery key. After the key is entered, Windows RE troubleshooting tools can be accessed, or Windows can be started normally. @@ -416,7 +416,6 @@ There are rules governing which hint is shown during the recovery (in the order | Creation time | **1PM** | | Key ID | A564F193 | - | Custom URL | No | |----------------------------|----------| | Saved to Microsoft Account | No | @@ -507,7 +506,6 @@ The recovery password and be invalidated and reset in two ways: > [!WARNING] > The braces `{}` must be included in the ID string. - ## Retrieve the BitLocker key package Two methods can be used to retrieve the key package as described in Using Additional Recovery Information: @@ -519,7 +517,6 @@ Export a new key package from an unlocked, BitLocker-protected volume. Local adm strRecoveryPassword = objFveInfo.Get("msFVE-RecoveryPassword") strKeyPackage = objFveInfo.Get("msFVE-KeyPackage") - ### Example: retrieve Bitlocker recovery keys for a Microsoft Entra joined device ``` PowerShell @@ -569,7 +566,6 @@ Device name: DESKTOP-53O32QI BitLocker recovery key: 241846-437393-298925-499389-123255-123640-709808-330682 ``` - ### Repair tool The Repair Tool can reconstruct critical parts of the drive and salvage recoverable data, as long as a valid recovery password or recovery key is used to decrypt the data. If the BitLocker metadata data on the drive is corrupt, the backup key package in addition to the recovery password or recovery key must be supplied. With the key package and either the recovery password or recovery key, portions of a corrupted BitLocker-protected drive can be decrypted. Each key package works only for a drive that has the corresponding drive identifier From ce9bbd317623170639adbdfac43c8769819f2f8d Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 5 Oct 2023 07:15:01 -0700 Subject: [PATCH 083/505] xplat-copilot-8348943 --- windows/client-management/copilot-overview.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/client-management/copilot-overview.md b/windows/client-management/copilot-overview.md index 557a48b03e..3d37b8c2f9 100644 --- a/windows/client-management/copilot-overview.md +++ b/windows/client-management/copilot-overview.md @@ -11,7 +11,9 @@ appliesto: >**Looking for consumer information?** See [Welcome to Copilot in Windows](https://support.microsoft.com/windows/welcome-to-copilot-in-windows-675708af-8c16-4675-afeb-85a5a476ccb0). -Copilot in Windows provides centralized generative AI assistance to your users right from the Windows desktop. Copilot in Windows is a bit different from Copilot in Edge, which provides assistance in the browser. However, both user experiences can share the same underlying chat provider platform. +Copilot in Windows provides centralized generative AI assistance to your users right from the Windows desktop. Copilot in Windows appears as a side bar on the Windows desktop, docked to the right. + +Copilot in Windows is a bit different from [Bing Chat in the Microsoft Edge sidebar](https://www.microsoft.com/edge/features/bing-chat), which provides assistance in the browser, since it can also perform actions such as changing Windows settings or performing common tasks in Windows. However, both user experiences can share the same underlying chat provider platform. ## Chat provider platforms for Copilot in Windows From a31e324d8a007257aa1f0ae1ed9b4f9af5cb45e2 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 5 Oct 2023 07:29:56 -0700 Subject: [PATCH 084/505] dep-psr-8412957 --- windows/whats-new/deprecated-features.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index e13121f3d9..44e79e6fc5 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -1,7 +1,7 @@ --- title: Deprecated features in the Windows client description: Review the list of features that Microsoft is no longer actively developing in Windows 10 and Windows 11. -ms.date: 09/01/2023 +ms.date: 10/07/2023 ms.prod: windows-client ms.technology: itpro-fundamentals ms.localizationpriority: medium @@ -36,9 +36,10 @@ The features in this article are no longer being actively developed, and might b |Feature | Details and mitigation | Deprecation announced | | ----------- | --------------------- | ---- | -| WordPad | WordPad is no longer being updated and will be removed in a future release of Windows. We recommend Microsoft Word for rich text documents like .doc and .rtf and Windows Notepad for plain text documents like .txt. | September 1, 2023 | -| AllJoyn | Microsoft's implementation of AllJoyn which included the [Windows.Devices.AllJoyn API namespace](/uwp/api/windows.devices.alljoyn), a [Win32 API](/windows/win32/api/_alljoyn/), a [management configuration service provider (CSP)](/windows/client-management/mdm/alljoynmanagement-csp), and an [Alljoyn Router Service](/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server#alljoyn-router-service) has been deprecated. [AllJoyn](https://openconnectivity.org/technology/reference-implementation/alljoyn/), sponsored by AllSeen Alliance, was an open source discovery and communication protocol for Internet of Things scenarios such as turning on/off lights or reading temperatures.AllSeen Alliance promoted the AllJoyn project from 2013 until 2016 when it merged with the Open Connectivity Foundation (OCF), the sponsors of [Iotivity.org](https://iotivity.org/), another protocol for Internet of Things scenarios. Customers should refer to the [Iotivity.org](https://iotivity.org/) website for alternatives such as [Iotivity Lite](https://github.com/iotivity/iotivity-lite) or [Iotivity](https://github.com/iotivity/iotivity). | August 17, 2023 | -| TLS 1.0 and 1.1 | Over the past several years, internet standards and regulatory bodies have [deprecated or disallowed](https://www.ietf.org/rfc/rfc8996.html) TLS versions 1.0 and 1.1 due to various security issues. Starting in Windows 11 Insider Preview builds for September 2023 and continuing in future Windows OS releases, TLS 1.0 and 1.1 will be disabled by default. This change increases the security posture of Windows customers and encourages modern protocol adoption. For organizations that need to use these versions, there's an option to re-enable TLS 1.0 or TLS 1.1. For more information, see [Resources for deprecated features](deprecated-features-resources.md). | August 1, 2023| +| Steps Recorder (psr.exe) | Steps Recorder is no longer being updated and will be removed in a future release of Windows. For screen recording, we recommend the Snipping Tool, Xbox Game Bar, or Microsoft ClipChamp. | October 2023 | +| WordPad | WordPad is no longer being updated and will be removed in a future release of Windows. We recommend Microsoft Word for rich text documents like .doc and .rtf and Windows Notepad for plain text documents like .txt. | September 1, 2023 | +| AllJoyn | Microsoft's implementation of AllJoyn which included the [Windows.Devices.AllJoyn API namespace](/uwp/api/windows.devices.alljoyn), a [Win32 API](/windows/win32/api/_alljoyn/), a [management configuration service provider (CSP)](/windows/client-management/mdm/alljoynmanagement-csp), and an [Alljoyn Router Service](/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server#alljoyn-router-service) has been deprecated. [AllJoyn](https://openconnectivity.org/technology/reference-implementation/alljoyn/), sponsored by AllSeen Alliance, was an open source discovery and communication protocol for Internet of Things scenarios such as turning on/off lights or reading temperatures.AllSeen Alliance promoted the AllJoyn project from 2013 until 2016 when it merged with the Open Connectivity Foundation (OCF), the sponsors of [Iotivity.org](https://iotivity.org/), another protocol for Internet of Things scenarios. Customers should refer to the [Iotivity.org](https://iotivity.org/) website for alternatives such as [Iotivity Lite](https://github.com/iotivity/iotivity-lite) or [Iotivity](https://github.com/iotivity/iotivity). | August 17, 2023 | +| TLS 1.0 and 1.1 | Over the past several years, internet standards and regulatory bodies have [deprecated or disallowed](https://www.ietf.org/rfc/rfc8996.html) TLS versions 1.0 and 1.1 due to various security issues. Starting in Windows 11 Insider Preview builds for September 2023 and continuing in future Windows OS releases, TLS 1.0 and 1.1 will be disabled by default. This change increases the security posture of Windows customers and encourages modern protocol adoption. For organizations that need to use these versions, there's an option to re-enable TLS 1.0 or TLS 1.1. For more information, see [Resources for deprecated features](deprecated-features-resources.md). | August 1, 2023| | Cortana in Windows | Cortana in Windows as a standalone app is deprecated. This change only impacts Cortana in Windows, and your productivity assistant, Cortana, will continue to be available in Outlook mobile, Teams mobile, Microsoft Teams display, and Microsoft Teams rooms. | June 2023 | | Microsoft Support Diagnostic Tool (MSDT) | [MSDT](/windows-server/administration/windows-commands/msdt) is deprecated and will be removed in a future release of Windows. MSDT is used to gather diagnostic data for analysis by support professionals. For more information, see [Resources for deprecated features](deprecated-features-resources.md) | January 2023 | | Universal Windows Platform (UWP) Applications for 32-bit Arm | This change is applicable only to devices with an Arm processor, for example Snapdragon processors from Qualcomm. If you have a PC built with a processor from Intel or AMD, this content is not applicable. If you are not sure which type of processor you have, check **Settings** > **System** > **About**.

    Support for 32-bit Arm versions of applications will be removed in a future release of Windows 11. After this change, for the small number of applications affected, app features might be different and you might notice a difference in performance. For more technical details about this change, see [Update app architecture from Arm32 to Arm64](/windows/arm/arm32-to-arm64). | January 2023 | From 8740f322058e496378a1e0f6126db3e499f49692 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 5 Oct 2023 07:35:43 -0700 Subject: [PATCH 085/505] dep-psr-8412957 --- windows/whats-new/deprecated-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/whats-new/deprecated-features.md b/windows/whats-new/deprecated-features.md index 44e79e6fc5..c15728063a 100644 --- a/windows/whats-new/deprecated-features.md +++ b/windows/whats-new/deprecated-features.md @@ -36,7 +36,7 @@ The features in this article are no longer being actively developed, and might b |Feature | Details and mitigation | Deprecation announced | | ----------- | --------------------- | ---- | -| Steps Recorder (psr.exe) | Steps Recorder is no longer being updated and will be removed in a future release of Windows. For screen recording, we recommend the Snipping Tool, Xbox Game Bar, or Microsoft ClipChamp. | October 2023 | +| Steps Recorder (psr.exe) | Steps Recorder is no longer being updated and will be removed in a future release of Windows. For screen recording, we recommend the Snipping Tool, Xbox Game Bar, or Microsoft Clipchamp. | October 2023 | | WordPad | WordPad is no longer being updated and will be removed in a future release of Windows. We recommend Microsoft Word for rich text documents like .doc and .rtf and Windows Notepad for plain text documents like .txt. | September 1, 2023 | | AllJoyn | Microsoft's implementation of AllJoyn which included the [Windows.Devices.AllJoyn API namespace](/uwp/api/windows.devices.alljoyn), a [Win32 API](/windows/win32/api/_alljoyn/), a [management configuration service provider (CSP)](/windows/client-management/mdm/alljoynmanagement-csp), and an [Alljoyn Router Service](/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server#alljoyn-router-service) has been deprecated. [AllJoyn](https://openconnectivity.org/technology/reference-implementation/alljoyn/), sponsored by AllSeen Alliance, was an open source discovery and communication protocol for Internet of Things scenarios such as turning on/off lights or reading temperatures.AllSeen Alliance promoted the AllJoyn project from 2013 until 2016 when it merged with the Open Connectivity Foundation (OCF), the sponsors of [Iotivity.org](https://iotivity.org/), another protocol for Internet of Things scenarios. Customers should refer to the [Iotivity.org](https://iotivity.org/) website for alternatives such as [Iotivity Lite](https://github.com/iotivity/iotivity-lite) or [Iotivity](https://github.com/iotivity/iotivity). | August 17, 2023 | | TLS 1.0 and 1.1 | Over the past several years, internet standards and regulatory bodies have [deprecated or disallowed](https://www.ietf.org/rfc/rfc8996.html) TLS versions 1.0 and 1.1 due to various security issues. Starting in Windows 11 Insider Preview builds for September 2023 and continuing in future Windows OS releases, TLS 1.0 and 1.1 will be disabled by default. This change increases the security posture of Windows customers and encourages modern protocol adoption. For organizations that need to use these versions, there's an option to re-enable TLS 1.0 or TLS 1.1. For more information, see [Resources for deprecated features](deprecated-features-resources.md). | August 1, 2023| From deb252b3a3df767e3fae806419fa58c903c37ba7 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 5 Oct 2023 11:09:34 -0400 Subject: [PATCH 086/505] updates --- windows/security/hardware-security/tpm/tpm-recommendations.md | 2 +- .../data-protection/bitlocker/toc.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/security/hardware-security/tpm/tpm-recommendations.md b/windows/security/hardware-security/tpm/tpm-recommendations.md index 19ad3cda34..f13340b987 100644 --- a/windows/security/hardware-security/tpm/tpm-recommendations.md +++ b/windows/security/hardware-security/tpm/tpm-recommendations.md @@ -98,7 +98,7 @@ The following table defines which Windows features require TPM support. Windows Features | TPM Required | Supports TPM 1.2 | Supports TPM 2.0 | Details | -|-|-|-|- Measured Boot | Yes | Yes | Yes | Measured Boot requires TPM 1.2 or 2.0 and UEFI Secure Boot. TPM 2.0 is recommended since it supports newer cryptographic algorithms. TPM 1.2 only supports the SHA-1 algorithm which is being deprecated. - BitLocker | No | Yes | Yes | TPM 1.2 or 2.0 are supported but TPM 2.0 is recommended. [Automatic Device Encryption requires Modern Standby](../../operating-system-security/data-protection/bitlocker/bitlocker-device-encryption.md#bitlocker-device-encryption) including TPM 2.0 support + BitLocker | No | Yes | Yes | TPM 1.2 or 2.0 are supported but TPM 2.0 is recommended. [Device Encryption requires Modern Standby](../../operating-system-security/data-protection/bitlocker/index.md#device-encryption) including TPM 2.0 support Device Encryption | Yes | N/A | Yes | Device Encryption requires Modern Standby/Connected Standby certification, which requires TPM 2.0. Windows Defender Application Control (Device Guard) | No | Yes | Yes Windows Defender System Guard (DRTM) | Yes | No | Yes | TPM 2.0 and UEFI firmware is required. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index a70684b263..c37bb78319 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -11,12 +11,12 @@ items: href: enable-server.md - name: Configure BitLocker href: configure.md - - name: BitLocker operations guide - href: operations-guide.md - name: Network Unlock href: network-unlock.md - name: Cluster shared volumes and storage area networks href: csv-san.md + - name: BitLocker operations guide + href: operations-guide.md - name: BitLocker recovery guide href: recovery-guide.md - name: BitLocker Recovery Password Viewer From 4f9e2f5f7d669776c1b687d9bb2952988fcc9d1a Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 5 Oct 2023 14:25:59 -0400 Subject: [PATCH 087/505] test --- .../data-protection/bitlocker/enable-server.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md b/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md index d2d5bc8bad..82a6655666 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md @@ -1,17 +1,18 @@ --- -title: BitLocker How to deploy on Windows Server -description: This article for the IT professional explains how to deploy BitLocker and Windows Server +title: Enable BitLocker on Windows Server +description: Learn how to enable BitLocker on Windows Server ms.topic: conceptual ms.date: 11/08/2022 --- # Enable BitLocker on Windows Server -This article explains how to deploy BitLocker on Windows Server. For all Windows Server editions, BitLocker can be installed using Server Manager or Windows PowerShell cmdlets. BitLocker requires administrator privileges on the server on which it's to be installed. +For all Windows Server editions, BitLocker is not installed by default, but it can be installed using Server Manager or Windows PowerShell cmdlets. This article explains how to enable BitLocker on Windows Server. -## Installing BitLocker +> [!NOTE] +> To install BitLocker you must have administrator privileges. -### To install BitLocker using server manager +## Install BitLocker using Server Manager 1. Open server manager by selecting the server manager icon or running `servermanager.exe`. 1. Select **Manage** from the **Server Manager Navigation** bar and select **Add Roles and Features** to start the **Add Roles and Features Wizard.** From 7a49f4cee8103f6c0dcb4235c3ac2f8eaffc7c97 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 5 Oct 2023 14:48:10 -0400 Subject: [PATCH 088/505] server doc --- .../bitlocker/enable-server.md | 55 +++++++------------ 1 file changed, 19 insertions(+), 36 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md b/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md index 82a6655666..0d9ec393c3 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md @@ -1,8 +1,8 @@ --- title: Enable BitLocker on Windows Server description: Learn how to enable BitLocker on Windows Server -ms.topic: conceptual -ms.date: 11/08/2022 +ms.topic: how-to +ms.date: 10/05/2023 --- # Enable BitLocker on Windows Server @@ -12,33 +12,31 @@ For all Windows Server editions, BitLocker is not installed by default, but it c > [!NOTE] > To install BitLocker you must have administrator privileges. -## Install BitLocker using Server Manager +## Install BitLocker with Server Manager -1. Open server manager by selecting the server manager icon or running `servermanager.exe`. -1. Select **Manage** from the **Server Manager Navigation** bar and select **Add Roles and Features** to start the **Add Roles and Features Wizard.** -1. With the **Add Roles and Features** wizard open, select **Next** at the **Before you begin** pane (if shown). -1. Select **Role-based or feature-based installation** on the **Installation type** pane of the **Add Roles and Features** wizard and select **Next** to continue. -1. Select the **Select a server from the server pool** option in the **Server Selection** pane and confirm the server on which the BitLocker feature is to be installed. -1. Select **Next** on the **Server Roles** pane of the **Add Roles and Features** wizard to proceed to the **Features** pane. - > [!NOTE] - > Server roles and features are installed by using the same wizard in Server Manager. -1. Select the check box next to **BitLocker Drive Encryption** within the **Features** pane of the **Add Roles and Features** wizard. The wizard shows the extra management features available for BitLocker. If the extra management features aren't needed and/or don't need to be installed, deselect the **Include management tools**. +1. Open Server Manager by selecting the icon or running `servermanager.exe` +1. Select **Manage** from the **Server Manager Navigation** bar and select **Add Roles and Features** +1. Select **Next** at the **Before you begin** pane (if shown) +1. Under **Installation type**, select **Role-based or feature-based installation** and select **Next** +1. Under **Server Selection**, select the **Select a server from the server pool** pane and confirm the server on which you want to install the BitLocker feature and **Next** +1. Under **Server Roles** select **Next** +1. Under **Features**, select the box next to **BitLocker Drive Encryption**. The wizard shows the extra management features available for BitLocker. If you don't need the extra management features, deselect **Include management tools** > [!NOTE] > The **Enhanced Storage** feature is a required feature for enabling BitLocker. This feature enables support for encrypted hard drives on capable systems. -1. Select **Add Features**. Once optional features selection is complete, select **Next** to proceed in the wizard. -1. Select **Install** on the **Confirmation** pane of the **Add Roles and Features** wizard to begin BitLocker feature installation. The BitLocker feature requires a restart for its installation to be complete. Selecting the **Restart the destination server automatically if required** option in the **Confirmation** pane forces a restart of the computer after installation is complete. -1. If the **Restart the destination server automatically if required** check box isn't selected, the **Results** pane of the **Add Roles and Features** wizard displays the success or failure of the BitLocker feature installation. If necessary, a notification of other action necessary to complete the feature installation, such as the restart of the computer, will be displayed in the results text. +1. Select **Next** and under **Confirmation** select **Install** -### To install BitLocker using Windows PowerShell +The BitLocker feature requires a restart for to complete its installation. Selecting the **Restart the destination server automatically if required** option in the **Confirmation** pane forces a restart of the server after installation is complete + +## Install BitLocker with Windows PowerShell Windows PowerShell offers administrators another option for BitLocker feature installation. Windows PowerShell installs features using the `servermanager` or `dism.exe` module. However, the `servermanager` and `dism.exe` modules don't always share feature name parity. Because of this mismatch of feature name parity, it's advisable to confirm the feature or role name prior to installation. > [!NOTE] > The server must be restarted to complete the installation of BitLocker. -### Using the servermanager module to install BitLocker +### Use the servermanager module to install BitLocker -The `servermanager` Windows PowerShell module can use either the `Install-WindowsFeature` or `Add-WindowsFeature` to install the BitLocker feature. The `Add-WindowsFeature` cmdlet is merely a stub to the `Install-WindowsFeature`. This example uses the `Install-WindowsFeature` cmdlet. The feature name for BitLocker in the `servermanager` module is `BitLocker`. +The `servermanager` Windows PowerShell module can use either the `Install-WindowsFeature` or `Add-WindowsFeature` to install the BitLocker feature. The `Add-WindowsFeature` cmdlet is a stub to the `Install-WindowsFeature`. This example uses the `Install-WindowsFeature` cmdlet. The feature name for BitLocker in the `servermanager` module is `BitLocker`. By default, installation of features in Windows PowerShell doesn't include optional subfeatures or management tools as part of the installation process. What is installed as part of the installation process can be seen using the `-WhatIf` option in Windows PowerShell. @@ -54,16 +52,6 @@ To see what would be installed with the BitLocker feature, including all availab Install-WindowsFeature BitLocker -IncludeAllSubFeature -IncludeManagementTools -WhatIf | fl ``` -The result of this command displays the following list of all the administration tools for BitLocker, which would be installed along with the feature, including tools for use with Active Directory Domain Services (AD DS) and Active Directory Lightweight Directory Services (AD LDS). - -- BitLocker Drive Encryption -- BitLocker Drive Encryption Tools -- BitLocker Drive Encryption Administration Utilities -- BitLocker Recovery Password Viewer -- AD DS Snap-Ins and Command-Line Tools -- AD DS Tools -- AD DS and AD LDS Tools - The command to complete a full installation of the BitLocker feature with all available subfeatures and then to reboot the server at completion is: ```powershell @@ -73,7 +61,7 @@ Install-WindowsFeature BitLocker -IncludeAllSubFeature -IncludeManagementTools - > [!IMPORTANT] > Installing the BitLocker feature using Windows PowerShell does not install the Enhanced Storage feature. Administrators wishing to support Encrypted Hard Drives in their environment will need to install the Enhanced Storage feature separately. -### Using the dism module to install BitLocker +### Use the dism module to install BitLocker The `dism.exe` Windows PowerShell module uses the `Enable-WindowsOptionalFeature` cmdlet to install features. The BitLocker feature name for BitLocker is `BitLocker`. The `dism.exe` module doesn't support wildcards when searching for feature names. To list feature names for the `dism.exe` module, use the `Get-WindowsOptionalFeatures` cmdlet. The following command lists all of the optional features in an online (running) operating system. @@ -89,15 +77,10 @@ To install BitLocker using the `dism.exe` module, use the following command: Enable-WindowsOptionalFeature -Online -FeatureName BitLocker -All ``` -This Command Prompts the user for a reboot. The Enable-WindowsOptionalFeature cmdlet doesn't offer support for forcing a reboot of the computer. This command doesn't include installation of the management tools for BitLocker. For a complete installation of BitLocker and all available management tools, use the following command: +This Command Prompts the user for a reboot. The `Enable-WindowsOptionalFeature` cmdlet doesn't offer support for forcing a reboot of the server. This command doesn't include installation of the management tools for BitLocker. For a complete installation of BitLocker and all available management tools, use the following command: ```powershell Enable-WindowsOptionalFeature -Online -FeatureName BitLocker, BitLocker-Utilities -All ``` -## Related articles - -- [BitLocker overview](index.md) -- [BitLocker frequently asked questions (FAQ)](faq.yml) -- [Prepare your organization for BitLocker: Planning and policies](prepare-your-organization-for-bitlocker-planning-and-policies.md) -- [BitLocker: How to enable Network Unlock](network-unlock.md) +After the server reboots, you can use BitLocker. From d67f6ce4cc83d82b3cb9b31815ef8200faa9ec02 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 5 Oct 2023 14:51:32 -0400 Subject: [PATCH 089/505] server doc --- .openpublishing.redirection.windows-security.json | 2 +- .../bitlocker/{enable-server.md => install-server.md} | 8 ++++---- .../data-protection/bitlocker/toc.yml | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) rename windows/security/operating-system-security/data-protection/bitlocker/{enable-server.md => install-server.md} (95%) diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index 6e304d3de1..f51079ffd1 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -7472,7 +7472,7 @@ }, { "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-how-to-deploy-on-windows-server.md", - "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/enable-server", + "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker/install-server", "redirect_document_id": false }, { diff --git a/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md b/windows/security/operating-system-security/data-protection/bitlocker/install-server.md similarity index 95% rename from windows/security/operating-system-security/data-protection/bitlocker/enable-server.md rename to windows/security/operating-system-security/data-protection/bitlocker/install-server.md index 0d9ec393c3..e2aa1da455 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/enable-server.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/install-server.md @@ -1,13 +1,13 @@ --- -title: Enable BitLocker on Windows Server -description: Learn how to enable BitLocker on Windows Server +title: Install BitLocker on Windows Server +description: Learn how to install BitLocker on Windows Server. ms.topic: how-to ms.date: 10/05/2023 --- -# Enable BitLocker on Windows Server +# Install BitLocker on Windows Server -For all Windows Server editions, BitLocker is not installed by default, but it can be installed using Server Manager or Windows PowerShell cmdlets. This article explains how to enable BitLocker on Windows Server. +For all Windows Server editions, BitLocker is not installed by default, but it can be installed using Server Manager or Windows PowerShell cmdlets. This article explains how to install BitLocker on Windows Server. > [!NOTE] > To install BitLocker you must have administrator privileges. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index c37bb78319..d8fdfd3230 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -7,8 +7,8 @@ items: href: plan.md - name: How-to guides items: - - name: Enable BitLocker on Windows Server - href: enable-server.md + - name: Install BitLocker on Windows Server + href: install-server.md - name: Configure BitLocker href: configure.md - name: Network Unlock From 6bc5ac7144eea3877ee3e6cffcfb9737afe39afe Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 5 Oct 2023 15:09:03 -0400 Subject: [PATCH 090/505] updates --- ...choose-drive-encryption-method-and-cipher-strength.md | 6 +++--- .../data-protection/bitlocker/install-server.md | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md index 08d1256f7d..8ca45f3f80 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md @@ -7,14 +7,14 @@ ms.topic: include ### Choose drive encryption method and cipher strength -With this policy you can configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. +With this policy, you can configure an encryption algorithm and key cipher strength for fixed data drives, operating system drives, and removable data drives individually. -Recommended settings: `XTS-AES` alhorithm for all drives. The choice of key size, 128 bit or 256 bit depends on the performance of the device. For more performant hard drives and CPU, choose 256 bit key, for less performant ones use 128. +Recommended settings: `XTS-AES` algorithm for all drives. The choice of key size, 128 bit or 256 bit depends on the performance of the device. For more performant hard drives and CPU, choose 256-bit key, for less performant ones use 128. > [!IMPORTANT] > Key size might be required by regulators or industry. -If you disable or do not configure this policy setting, BitLocker uses the default encryption method of `XTS-AES 128-bit`. +If you disable or don't configure this policy setting, BitLocker uses the default encryption method of `XTS-AES 128-bit`. > [!NOTE] > This policy doesn't apply to encrypted drives. Encrypted drives utilize their own algorithm, which is set by the drive during partitioning. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/install-server.md b/windows/security/operating-system-security/data-protection/bitlocker/install-server.md index e2aa1da455..4cbac906e9 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/install-server.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/install-server.md @@ -7,7 +7,7 @@ ms.date: 10/05/2023 # Install BitLocker on Windows Server -For all Windows Server editions, BitLocker is not installed by default, but it can be installed using Server Manager or Windows PowerShell cmdlets. This article explains how to install BitLocker on Windows Server. +For all Windows Server editions, BitLocker isn't installed by default, but it can be installed using Server Manager or Windows PowerShell cmdlets. This article explains how to install BitLocker on Windows Server. > [!NOTE] > To install BitLocker you must have administrator privileges. @@ -25,7 +25,7 @@ For all Windows Server editions, BitLocker is not installed by default, but it c > The **Enhanced Storage** feature is a required feature for enabling BitLocker. This feature enables support for encrypted hard drives on capable systems. 1. Select **Next** and under **Confirmation** select **Install** -The BitLocker feature requires a restart for to complete its installation. Selecting the **Restart the destination server automatically if required** option in the **Confirmation** pane forces a restart of the server after installation is complete +The BitLocker feature requires a restart to complete its installation. Selecting the **Restart the destination server automatically if required** option in the **Confirmation** pane forces a restart of the server after installation is complete ## Install BitLocker with Windows PowerShell @@ -77,10 +77,13 @@ To install BitLocker using the `dism.exe` module, use the following command: Enable-WindowsOptionalFeature -Online -FeatureName BitLocker -All ``` -This Command Prompts the user for a reboot. The `Enable-WindowsOptionalFeature` cmdlet doesn't offer support for forcing a reboot of the server. This command doesn't include installation of the management tools for BitLocker. For a complete installation of BitLocker and all available management tools, use the following command: +The command doesn't include installation of the management tools for BitLocker, but you can do a complete installation of BitLocker and all available management tools with the following command: ```powershell Enable-WindowsOptionalFeature -Online -FeatureName BitLocker, BitLocker-Utilities -All ``` +> [!NOTE] +> When using `Enable-WindowsOptionalFeature`, the administrator is prompted to reboot the server, as the cmdlet doesn't have support for forcing a reboot. + After the server reboots, you can use BitLocker. From 1bb411bcbed4e48f2f9355b89cb34ce77efe0f77 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 5 Oct 2023 15:22:31 -0400 Subject: [PATCH 091/505] updates --- .../choose-drive-encryption-method-and-cipher-strength.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md index 8ca45f3f80..de6e210401 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/choose-drive-encryption-method-and-cipher-strength.md @@ -1,7 +1,7 @@ --- author: paolomatarazzo ms.author: paoloma -ms.date: 09/24/2023 +ms.date: 10/05/2023 ms.topic: include --- From d7cc93a73cf669404f438d4612c7a5c951d7d08d Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 5 Oct 2023 15:40:18 -0400 Subject: [PATCH 092/505] updates --- .../bitlocker/management-tools.md | 550 ------------------ 1 file changed, 550 deletions(-) delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/management-tools.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/management-tools.md b/windows/security/operating-system-security/data-protection/bitlocker/management-tools.md deleted file mode 100644 index 7890113b2b..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/management-tools.md +++ /dev/null @@ -1,550 +0,0 @@ ---- -title: BitLocker management tools -description: Learn how to use different tools to operate BitLocker. -ms.collection: - - tier1 -ms.topic: how-to -ms.date: 07/25/2023 ---- - -# BitLocker management tools - -There are differnt tools and options to manage and operate BitLocker: - -- the BitLocker PowerShell module -- the BitLocker drive encryption tools -- Control Panel - -The BitLocker drive encryption tools and BitLocker PowerShell module can be used to perform any tasks that can be accomplished through the BitLocker control panel. They are appropriate to use for automated deployments and other scripting scenarios.\ -The BitLocker Control Panel applet allows users to perform basic tasks such as turning on BitLocker on a drive and specifying unlock methods and authentication methods. The BitLocker Control Panel applet is appropriate to use for basic BitLocker tasks. - -This article describes the BitLocker management tools and how to use them, providing practical examples. - -## BitLocker PowerShell module - -The BitLocker PowerShell module enables administrators to integrate BitLocker options into existing scripts with ease. For a list of cmdlets included in module, their description and syntax, che the [BitLocker PowerShell reference article](/powershell/module/bitlocker). - -## BitLocker drive encryption tools - -The BitLocker drive encryption tools include the two command-line tools: - -- *Configuration Tool* (`manage-bde.exe`) can be used for scripting BitLocker operations, offering options that aren't present in the BitLocker Control Panel applet. For a complete list of the `manage-bde.exe` options, see the [Manage-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829849(v=ws.11)) command-line reference -- *Repair Tool* (`repair-bde.exe`) is useful for disaster recovery scenarios, in which a BitLocker protected drive can't be unlocked normally or using the recovery console - -### Repair tool - -The Repair Tool can reconstruct critical parts of the drive and salvage recoverable data, as long as a valid recovery password or recovery key is used to decrypt the data. If the BitLocker metadata data on the drive is corrupt, the backup key package in addition to the recovery password or recovery key must be supplied. With the key package and either the recovery password or recovery key, portions of a corrupted BitLocker-protected drive can be decrypted. Each key package works only for a drive that has the corresponding drive identifier - -> [!TIP] -> If recovery information is not backed up to AD DS or if key packages need to be saved in an alternative way, use the following command to generate a key package for a volume: -> -> `manage-bde.exe -KeyPackage` - -The Repair Tool is intended for use when the operating system doesn't start or when the BitLocker Recovery Console can't be started. Use Repair-bde in the following conditions: - -- The drive is encrypted using BitLocker Drive Encryption -- Windows doesn't start, or the BitLocker recovery console can't start -- There isn't a backup copy of the data that is contained on the encrypted drive - -> [!NOTE] -> Damage to the drive may not be related to BitLocker. Therefore, it is recommended to try other tools to help diagnose and resolve the problem with the drive before using the BitLocker Repair Tool. The Windows Recovery Environment (Windows RE) provides additional options to repair computers. - -The following limitations exist for Repair-bde: - -- it can't repair a drive that failed during the encryption or decryption process -- it assumes that if the drive has any encryption, then the drive is fully encrypted - -For more information about using repair-bde, see [Repair-bde](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829851(v=ws.11)). - -## Using BitLocker to encrypt volumes - -BitLocker provides full volume encryption (FVE) for operating system volumes, and fixed and removable data drives. To support fully encrypted operating system drives, BitLocker uses an unencrypted system partition for the files required to boot, decrypt, and load the operating system. This volume is automatically created during a new installation of both client and server operating systems. - -If the drive was prepared as a single contiguous space, BitLocker requires a new volume to hold the boot files. BdeHdCfg.exe can create these volumes. - -> [!NOTE] -> For more info about using this tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. - -`Manage-bde.exe` is a command-line utility that can be used for scripting BitLocker operations. `Manage-bde.exe` offers additional options not displayed in the BitLocker control panel. For a complete list of the options, see [Manage-bde](/windows-server/administration/windows-commands/manage-bde). - -`Manage-bde.exe` offers a multitude of wider options for configuring BitLocker. Using the command syntax may require care. For example, using just the `manage-bde.exe -on` command on a data volume will fully encrypt the volume without any authenticating protectors. A volume encrypted in this manner still requires user interaction to turn on BitLocker protection, even though the command successfully completed. For the volume to be fully protected, an authentication method needs to also be added to the volume in addition to running the `manage-bde.exe`command. - -Command-line users need to determine the appropriate syntax for a given situation. The following section covers general encryption for operating system volumes and data volumes. - -## Example: check the BitLocker status - -To check the BitLocker status of a particular volume, administrators can look at the status of the drive in the BitLocker control panel applet, Windows Explorer, `manage-bde.exe` command-line tool, or Windows PowerShell cmdlets. Each option offers different levels of detail and ease of use. - -Follow the instructions below verify the status of BitLocker, selecting the tool of your choice. - -#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) - -To determine the current state of a volume you can use the `Get-BitLockerVolume` cmdlet, which provides information on the volume type, protectors, protection status, and other details. For example: - -```powershell -PS C:\> Get-BitLockerVolume C: | fl - -ComputerName : DESKTOP -MountPoint : C: -EncryptionMethod : XtsAes128 -AutoUnlockEnabled : -AutoUnlockKeyStored : False -MetadataVersion : 2 -VolumeStatus : FullyEncrypted -ProtectionStatus : On -LockStatus : Unlocked -EncryptionPercentage : 100 -WipePercentage : 0 -VolumeType : OperatingSystem -CapacityGB : 1000 -KeyProtector : {Tpm, RecoveryPassword} -``` - -#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) - -With `manage-bde.exe` you can determine the volume status on the target system, for example: - -`manage-bde.exe -status` - -This command returns the volumes on the target, current encryption status, encryption method, and volume type (operating system or data) for each volume. - -```cmd -C:\>manage-bde -status - -Volume C: [Local Disk] -[OS Volume] - - Size: 1000 GB - BitLocker Version: 2.0 - Conversion Status: Used Space Only Encrypted - Percentage Encrypted: 100.0% - Encryption Method: XTS-AES 128 - Protection Status: Protection On - Lock Status: Unlocked - Identification Field: Unknown - Key Protectors: - TPM - Numerical Password -``` - -#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) - -Checking BitLocker status with the control panel is a common method used by most users. Once opened, the status for each volume is displayed next to the volume description and drive letter. Available status return values with applet include: - -| Status | Description | -| - | - | -| **On**|BitLocker is enabled for the volume | -| **Off**| BitLocker isn't enabled for the volume | -| **Suspended** | BitLocker is suspended and not actively protecting the volume | -| **Waiting for Activation**| BitLocker is enabled with a clear protector key and requires further action to be fully protected| - -If a drive is pre-provisioned with BitLocker, a status of **Waiting for Activation** displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the control panel, PowerShell or `manage-bde.exe` tool to add an appropriate key protector. Once complete, the Control Panel will update to reflect the new status. - ---- - -## Example: enable BitLocker - -#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) - -The following example shows how to enable BitLocker on an operating system drive using only the TPM protector: - -```powershell -Enable-BitLocker C: -``` - -In the next example, we add one more protector, the *StartupKey* protector, and choose to skip the BitLocker hardware test. Encryption starts immediately without the need for a reboot: - -```powershell -Enable-BitLocker C: -StartupKeyProtector -StartupKeyPath -SkipHardwareTest -``` - -#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) - -Using only the `manage-bde.exe -on ` command encrypts the operating system volume with a TPM-only protector and no recovery key. However, you may require more secure protectors such as passwords or PIN, and expect to be able to recover information with a recovery key. - -### Enable BitLocker with a TPM only - -It's possible to encrypt the operating system volume without any defined protectors by using `manage-bde.exe`. Use this command: - -```cmd -manage-bde.exe -on C: -``` - -This command will encrypt the drive using the TPM as the protector. If users are unsure of the protector for a volume, they can use the `-protectors` option in `manage-bde.exe` to list this information by executing the following command: - -```cmd -manage-bde.exe -protectors -get -``` - -### Provisioning BitLocker with two protectors - -Another example is a user on a non-TPM hardware who wishes to add a password and SID-based protector to the operating system volume. In this instance, the user adds the protectors first. Adding the protectors is done with the command: - -```cmd -manage-bde.exe -protectors -add C: -pw -sid -``` - -This command requires the user to enter and then confirm the password protectors before adding them to the volume. With the protectors enabled on the volume, the user just needs to turn on BitLocker. - -A common protector for a data volume is the password protector. In the next example, a password protector is added to the volume and turn on BitLocker. - -```powershell -manage-bde.exe -protectors -add -pw C: -manage-bde.exe -on C: -``` -### Enabling BitLocker without a TPM - -Suppose BitLocker is desired on a computer without a TPM. In this scenario, a USB flash drive is needed as a startup key for the operating system volume. The startup key will then allow the computer to boot. To create the startup key using `manage-bde.exe`, the `-protectors` switch would be used specifying the `-startupkey` option. Assuming the USB flash drive is drive letter `E:`, then the following `manage-bde.exe` commands would be used t create the startup key and start the BitLocker encryption: - -```powershell -manage-bde.exe -protectors -add C: -startupkey E: -manage-bde.exe -on C: -``` - -If prompted, reboot the computer to complete the encryption process. - -### Data volume commands - -Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: - -```cmd -manage-bde.exe -on -``` - -Or users can choose to add protectors to the volume. It is recommended to add at least one primary protector and a recovery protector to a data volume. - -#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) - -Encrypting volumes with the BitLocker control panel (select **Start**, enter `BitLocker`, select **Manage BitLocker**) is how many users will use BitLocker. The name of the BitLocker control panel is BitLocker Drive Encryption. The BitLocker control panel supports encrypting operating system, fixed data, and removable data volumes. The BitLocker control panel will organize available drives in the appropriate category based on how the device reports itself to Windows. Only formatted volumes with assigned drive letters will appear properly in the BitLocker control panel applet. - -To start encryption for a volume, select **Turn on BitLocker** for the appropriate drive to initialize the **BitLocker Drive Encryption Wizard**. **BitLocker Drive Encryption Wizard** options vary based on volume type (operating system volume or data volume). - -### Operating system volume - -For the operating system volume the **BitLocker Drive Encryption Wizard** presents several screens that prompt for options while it performs several actions: - -1. When the **BitLocker Drive Encryption Wizard** first launches, it verifies the computer meets the BitLocker system requirements for encrypting an operating system volume. By default, the system requirements are: - - If the volume doesn't pass the initial configuration for BitLocker, the user is presented with an error dialog describing the appropriate actions to be taken. - -2. Upon passing the initial configuration, users may be prompted to enter a password for the volume, for example, if a TPM isn't available. If a TPM is available, the password screen will be skipped. - -3. After the initial configuration/password screens, a recovery key will be generated. The **BitLocker Drive Encryption Wizard** will prompt for a location to save the recovery key. A BitLocker recovery key is a special key that is created when BitLocker Drive Encryption is turned on for the first time on each drive that is encrypted. The recovery key can be used to gain access to the computer if: - - - The drive that Windows is installed on (the operating system drive) is encrypted using BitLocker Drive Encryption - - BitLocker detects a condition that prevents it from unlocking the drive when the computer is starting up - - A recovery key can also be used to gain access to the files and folders on a removable data drive (such as an external hard drive or USB flash drive) that is encrypted using BitLocker To Go, if for some reason the password is forgotten or the computer can't access the drive. - - The recovery key can be stored using the following methods: - - - **Save to your Azure AD account** (if applicable) - - **Save to a USB flash drive** - - **Save to a file** - the file needs to be saved to a location that isn't on the computer itself such as a network folder or OneDrive - - **Print the recovery key** - - The recovery key can't be stored at the following locations: - - - The drive being encrypted - - The root directory of a non-removable/fixed drive - - An encrypted volume - - > [!TIP] - > Ideally, a computer's recovery key should be stored separate from the computer itself. - - > [!NOTE] - > After a recovery key is created, the BitLocker control panel can be used to make additional copies of the recovery key. - -4. The **BitLocker Drive Encryption Wizard** will then prompt how much of the drive to encrypt. The **BitLocker Drive Encryption Wizard** will have two options that determine how much of the drive is encrypted: - - - **Encrypt used disk space only** - Encrypts only disk space that contains data. - - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption. - - Each of the methods is recommended in the following scenarios: - - - **Encrypt used disk space only**: - - - The drive has never had data - - Formatted or erased drives that in the past have never had confidential data that was never encrypted - - - **Encrypt entire drive** (full disk encryption): - - - Drives that currently have data - - Drives that currently have an operating system - - Formatted or erased drives that in the past had confidential data that was never encrypted - - > [!IMPORTANT] - > Deleted files appear as free space to the file system, which isn't encrypted by **used disk space only**. Until they are wiped or overwritten, deleted files hold information that could be recovered with common data forensic tools. - -5. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: - - - **New encryption mode** - - **Compatible mode** - - Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another computer with an older Windows operating system, then select **Compatible mode**. - -6. After selecting an encryption mode, the **BitLocker Drive Encryption Wizard** will give the option of running a BitLocker system check via the option **Run BitLocker system check**. This system check will ensure that BitLocker can properly access the recovery and encryption keys before the volume encryption begins. it's recommended run this system check before starting the encryption process. If the system check isn't run and a problem is encountered when the operating system attempts to start, the user will need to provide the recovery key to start Windows. - -After completing the system check (if selected), the **BitLocker Drive Encryption Wizard** will begin encryption. A reboot may be initiated to start encryption. If a reboot was initiated, if there was no TPM and a password was specified, the password will need to be entered to boot into the operating system volume. - -Users can check encryption status by checking the system notification area or the BitLocker control panel. - -Until encryption is completed, the only available options for managing BitLocker involve manipulation of the password protecting the operating system volume, backing up the recovery key, and turning off BitLocker. - -### Data volume - -Encrypting data volumes using the BitLocker control panel works in a similar fashion to encryption of the operating system volumes. Users select **Turn on BitLocker** within the BitLocker control panel to begin the **BitLocker Drive Encryption Wizard**. - -1. Upon launching the **BitLocker Drive Encryption Wizard**, unlike for operating system volumes, data volumes aren't required to pass any configuration tests for the **BitLocker Drive Encryption Wizard** to proceed - -2. A choice of authentication methods to unlock the drive appears. The available options are: - - - **Use a password to unlock the drive** - - **Use my smart card to unlock the drive** - - **Automatically unlock this drive on this computer** - Disabled by default but if enabled, this option will unlock the data volume without user input when the operating system volume is unlocked. - -3. The **BitLocker Drive Encryption Wizard** presents options for storage of the recovery key. These options are the same as for operating system volumes: - - - **Save to your Azure AD account** (if applicable) - - **Save to a USB flash drive** - - **Save to a file** - the file needs to be saved to a location that isn't on the computer itself such as a network folder or OneDrive - - **Print the recovery key** - -4. After saving the recovery key, the **BitLocker Drive Encryption Wizard** will show available options for encryption. These options are the same as for operating system volumes: - - - **Encrypt used disk space only** - Encrypts only disk space that contains data. - - **Encrypt entire drive** - Encrypts the entire volume including free space. Also known as full disk encryption. - -5. The **BitLocker Drive Encryption Wizard** will then prompt for an encryption mode: - - - **New encryption mode** - - **Compatible mode** - - Normally **New encryption mode** should be chosen, but if the drive will be potentially moved to another computer with an older Windows operating system, then select **Compatible mode**. - -6. The **BitLocker Drive Encryption Wizard** will display a final confirmation screen before the encryption process begins. Selecting **Start encrypting** begins encryption. - -Encryption status displays in the notification area or within the BitLocker control panel. - -### OneDrive option - -There's an option for storing the BitLocker recovery key using OneDrive. This option requires that computers aren't members of a domain and that the user is using a Microsoft Account. Local accounts don't give the option to use OneDrive. Using the OneDrive option is the default recommended recovery key storage method for computers that aren't joined to a domain. - -Users can verify whether the recovery key was saved properly by checking OneDrive for the BitLocker folder. The BitLocker folder on OneDrive is created automatically during the save process. The folder will contain two files, a `readme.txt` and the recovery key. For users storing more than one recovery password on their OneDrive, they can identify the required recovery key by looking at the file name. The recovery key ID is appended to the end of the file name. - -### Using BitLocker within Windows Explorer - -Windows Explorer allows users to launch the **BitLocker Drive Encryption Wizard** by right-clicking a volume and selecting **Turn On BitLocker**. This option is available on client computers by default. On servers, the BitLocker feature and the Desktop-Experience feature must first be installed for this option to be available. After selecting **Turn on BitLocker**, the wizard works exactly as it does when launched using the BitLocker control panel. - ---- - -## Manage BitLocker protectors - -Follow the instructions below manage BitLocker protectors, selecting the option that best suits your needs. - -#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) - -To remove the existing protectors prior to provisioning BitLocker on the volume, use the `Remove-BitLockerKeyProtector` cmdlet. Running this cmdlet requires the GUID associated with the protector to be removed. - -The following commands return the list of key protectors and GUIDS: - -```PowerShell -$vol = Get-BitLockerVolume C: -$keyprotectors = $vol.KeyProtector -$keyprotectors -``` - -By using this information, the key protector for a specific volume can be removed using the command: - -```powershell -Remove-BitLockerKeyProtector : -KeyProtectorID "{GUID}" -``` - -> [!NOTE] -> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. - -Data volume encryption using Windows PowerShell is the same as for operating system volumes. Add the desired protectors prior to encrypting the volume. The following example adds a password protector to the E: volume using the variable $pw as the password. The $pw variable is held as a -SecureString value to store the user-defined password. - -```powershell -$pw = Read-Host -AsSecureString - -Enable-BitLockerKeyProtector E: -PasswordProtector -Password $pw -``` - -> [!NOTE] -> The BitLocker cmdlet requires the key protector GUID enclosed in quotation marks to execute. Ensure the entire GUID, with braces, is included in the command. - -The **ADAccountOrGroup** protector is an Active Directory SID-based protector. This protector can be added to both operating system and data volumes, although it doesn't unlock operating system volumes in the pre-boot environment. The protector requires the SID for the domain account or group to link with the protector. BitLocker can protect a cluster-aware disk by adding an SID-based protector for the Cluster Name Object (CNO) that lets the disk properly failover and unlock to any member computer of the cluster. - -> [!WARNING] -> The SID-based protector requires the use of an additional protector such as TPM, PIN, recovery key, etc. when used on operating system volumes. - -To add an **ADAccountOrGroup** protector to a volume, either the domain SID is needed or the group name preceded by the domain and a backslash. In the example below, the **CONTOSO\\Administrator** account is added as a protector to the data volume G. - -```powershell -Enable-BitLocker G: -AdAccountOrGroupProtector -AdAccountOrGroup CONTOSO\Administrator -``` - -For users who wish to use the SID for the account or group, the first step is to determine the SID associated with the account. To get the specific SID for a user account in Windows PowerShell, use the following command: - -```powershell -Get-ADUser -filter {samaccountname -eq "administrator"} -``` - -> [!NOTE] -> Use of this command requires the RSAT-AD-PowerShell feature. - -> [!TIP] -> In addition to the Windows PowerShell command above, information about the locally logged on user and group membership can be found using: `WHOAMI /ALL`. This doesn't require the use of additional features. - -In the example below, the user wishes to add a domain SID-based protector to the previously encrypted operating system volume. The user knows the SID for the user account or group they wish to add and uses the following command: - -```powershell -Add-BitLockerKeyProtector C: -ADAccountOrGroupProtector -ADAccountOrGroup "" -``` - -> [!NOTE] -> Active Directory-based protectors are normally used to unlock Failover Cluster-enabled volumes. - -For Azure AD-joined computers, the recovery password should be stored in Azure AD. - -**Example**: *Use PowerShell to add a recovery password and back it up to Azure AD before enabling BitLocker* - -```powershell -Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector - -$BLV = Get-BitLockerVolume -MountPoint "C:" - -BackupToAAD-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId -``` - -For domain-joined computers, including servers, the recovery password should be stored in Active Directory Domain Services (AD DS). - -**Example**: *Use PowerShell to add a recovery password and back it up to AD DS before enabling BitLocker* - -```powershell -Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector - -$BLV = Get-BitLockerVolume -MountPoint "C:" - -Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[0].KeyProtectorId -``` - -PowerShell can then be used to enable BitLocker: - -**Example**: *Use PowerShell to enable BitLocker with a TPM protector* - -```powershell -Enable-BitLocker -MountPoint "D:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector -``` - -**Example**: *Use PowerShell to enable BitLocker with a TPM+PIN protector, in this case with a PIN set to 123456* - -```powershell -$SecureString = ConvertTo-SecureString "123456" -AsPlainText -Force - -Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -Pin $SecureString -TPMandPinProtector -``` - - -#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) - -Listed below are examples of basic valid commands for operating system volumes. In general, using only the `manage-bde.exe -on ` command will encrypt the operating system volume with a TPM-only protector and no recovery key. However, many environments require more secure protectors such as passwords or PIN and expect information recovery with a recovery key. It's recommended to add at least one primary protector plus a recovery protector to an operating system volume. - -The following example illustrates enabling BitLocker on a computer without a TPM chip. Before beginning the encryption process, the startup key needed for BitLocker must be created and saved to a USB drive. When BitLocker is enabled for the operating system volume, BitLocker will need to access the USB flash drive to obtain the encryption key. In this example, the drive letter E represents the USB drive. Once the commands are run, it will prompt to reboot the computer to complete the encryption process. - -```cmd -manage-bde.exe -protectors -add C: -startupkey E: -manage-bde.exe -on C: -``` - -> [!NOTE] -> After the encryption is completed, the USB startup key must be inserted before the operating system can be started. - -An alternative to the startup key protector on non-TPM hardware is to use a password and an **ADaccountorgroup** protector to protect the operating system volume. In this scenario, the protectors are added first. To add the protectors, enter the following command: - -```cmd -manage-bde.exe -protectors -add C: -pw -sid -``` - -The above command will require the password protector to be entered and confirmed before adding them to the volume. With the protectors enabled on the volume, BitLocker can then be turned on. - -On computers with a TPM, it's possible to encrypt the operating system volume without defining any protectors using `manage-bde.exe`. To enable BitLocker on a computer with a TPM without defining any protectors, enter the following command: - -```cmd -manage-bde.exe -on C: -``` - -The above command encrypts the drive using the TPM as the default protector. If verify if a TPM protector is available, the list of protectors available for a volume can be listed by running the following command: - -```cmd - manage-bde.exe -protectors -get -``` - -Data volumes use the same syntax for encryption as operating system volumes but they don't require protectors for the operation to complete. Encrypting data volumes can be done using the base command: - -`manage-bde.exe -on ` - -or additional protectors can be added to the volume first. It's recommended to add at least one primary protector plus a recovery protector to a data volume. - -A common protector for a data volume is the password protector. In the example below, a password protector is added to the volume and then BitLocker is turned on. - -```cmd -manage-bde.exe -protectors -add -pw C: -manage-bde.exe -on C: -``` - -#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) - -Using the control panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. -The drive security window displays prior to changing the volume status. Selecting **Activate BitLocker** will complete the encryption process. - -Once BitLocker protector activation is completed, the completion notice is displayed. - ---- - -### Decrypt volumes - -Decrypting volumes removes BitLocker and any associated protectors from the volumes. Decryption should occur when protection is no longer required, and not as a troubleshooting step. - -#### [:::image type="icon" source="images/powershell.svg"::: **PowerShell**](#tab/powershell) - -Windows PowerShell offers the ability to decrypt multiple drives in one pass. In the example below, the user has three encrypted volumes, which they wish to decrypt. - -Using the Disable-BitLocker command, they can remove all protectors and encryption at the same time without the need for more commands. An example of this command is: - -```powershell -Disable-BitLocker -``` - -If a user didn't want to input each mount point individually, using the `-MountPoint` parameter in an array can sequence the same command into one line without requiring additional user input. An example command is: - -```powershell -Disable-BitLocker -MountPoint E:,F:,G: -``` - -#### [:::image type="icon" source="images/cmd.svg"::: **Command Prompt**](#tab/cmd) - -Decryption with `manage-bde.exe` offers the advantage of not requiring user confirmation to start the process. Manage-bde uses the -off command to start the decryption process. A sample command for decryption is: - -```powershell -manage-bde.exe -off C: -``` - -This command disables protectors while it decrypts the volume and removes all protectors when decryption is complete. If users wish to check the status of the decryption, they can use the following command: - -```powershell -manage-bde.exe -status C: -``` - -#### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) - -BitLocker decryption using the control panel is done using a wizard. The control panel can be called from Windows Explorer or by opening it directly. After opening the BitLocker control panel, users will select the **Turn off BitLocker** option to begin the process. -After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to the control panel. - -The control panel doesn't report decryption progress but displays it in the notification area of the task bar. Selecting the notification area icon will open a modal dialog with progress. - -Once decryption is complete, the drive updates its status in the control panel and becomes available for encryption. - ---- From 41ede98b96ff9067990bf0ad5a3921ccbf640458 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Thu, 5 Oct 2023 17:23:11 -0400 Subject: [PATCH 093/505] updates --- .../bitlocker/countermeasures.md | 3 +- .../data-protection/bitlocker/csv-san.md | 68 +++++++------------ .../data-protection/bitlocker/index.md | 2 + .../bitlocker/install-server.md | 4 ++ .../bitlocker/policy-settings.md | 8 +-- 5 files changed, 36 insertions(+), 49 deletions(-) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index 8b10a6d887..e2891ab013 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -2,7 +2,7 @@ title: BitLocker countermeasures description: Learn about technologies and features to protect against attacks on the BitLocker encryption key. ms.topic: conceptual -ms.date: 10/02/2023 +ms.date: 10/05/2023 --- # BitLocker countermeasures @@ -142,4 +142,5 @@ For secure administrative workstations, it's recommended to: > [!div class="nextstepaction"] > Learn how to plan for a BitLocker deployment in your organization: +> > [Plan for a BitLocker deployment >](plan.md) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md b/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md index 22c4c0c2c7..54673ebcbb 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/csv-san.md @@ -1,33 +1,31 @@ --- -title: Protecting cluster shared volumes and storage area networks with BitLocker -description: This article for IT pros describes how to protect CSVs and SANs with BitLocker. -ms.topic: conceptual -ms.date: 11/08/2022 +title: Protect cluster shared volumes and storage area networks with BitLocker +description: Learn how to how to protect cluster shared volumes (CSV) and storage area networks (SAN) with BitLocker. +ms.topic: how-to +ms.date: 10/05/2023 +appliesto: +- ✅ Windows Server 2022 +- ✅ Windows Server 2019 +- ✅ Windows Server 2016 --- -# Protecting cluster shared volumes and storage area networks with BitLocker +# Protect cluster shared volumes and storage area networks with BitLocker -**Applies to:** +This article describes the procedure to protect cluster shared volumes (CSVs) and storage area networks (SANs) with BitLocker. -- Windows Server 2016 and above +BitLocker protects both physical disk resources and cluster shared volumes version 2.0 (CSV2.0). BitLocker on clustered volumes provides an extra layer of protection that can be used to protect sensitive, highly available data. The administrators use this extra layer of protection to increase the security to resources. Only certain user accounts provided access to unlock the BitLocker volume. -This article describes the procedure to protect cluster shared volumes (CSVs) and storage area networks (SANs) by using BitLocker. +## Configure BitLocker on cluster shared volumes -BitLocker protects both physical disk resources and cluster shared volumes version 2.0 (CSV2.0). BitLocker on clustered volumes provides an extra layer of protection that can be used by administrators wishing to protect sensitive, highly available data. The administrators use this extra layer of protection to increase the security to resources. Only certain user accounts provided access to unlock the BitLocker volume. - -## Configuring BitLocker on Cluster Shared Volumes - -### Using BitLocker with clustered volumes - -Volumes within a cluster are managed with the help of BitLocker based on how the cluster service "views" the volume to be protected. The volume can be a physical disk resource such as a logical unit number (LUN) on a SAN or network attached storage (NAS). +Volumes within a cluster are managed with the help of BitLocker based on how the cluster service *sees* the volume to be protected. The volume can be a physical disk resource such as a logical unit number (LUN) on a SAN, or network attached storage (NAS). > [!IMPORTANT] -> SANs used with BitLocker must have obtained Windows Hardware Certification. For more info, see [Windows Hardware Lab Kit](/windows-hardware/drivers/). +> SANs used with BitLocker must have obtained Windows Hardware Certification. For more information, check [Windows Hardware Lab Kit](/windows-hardware/drivers/). -Instead, the volume can be a cluster-shared volume. Windows Server 2012 expanded the CSV architecture, now known as CSV2.0, to enable support for BitLocker. The volumes that are designated for a cluster must do the following tasks: +The volumes that are designated for a cluster must do the following tasks: -- It must turn on BitLocker—only after this task is done, can the volumes be added to the storage pool. -- It must put the resource into maintenance mode before BitLocker operations are completed. +- turn on BitLocker: only after this task is done, the volumes can be added to the storage pool +- must put the resource into maintenance mode before BitLocker operations are completed. Windows PowerShell or the `manage-bde.exe` command-line tool is the preferred method to manage BitLocker on CSV2.0 volumes. This method is recommended over the BitLocker Control Panel item because CSV2.0 volumes are mount points. Mount points are an NTFS object that is used to provide an entry point to other volumes. Mount points don't require the use of a drive letter. Volumes that lack drive letters don't appear in the BitLocker Control Panel item. Additionally, the new Active Directory-based protector option required for cluster disk resource or CSV2.0 resources isn't available in the Control Panel item. @@ -92,27 +90,19 @@ To turn on BitLocker for a disk before adding it to a cluster: When the cluster service owns a disk resource already, the disk resource needs to be set into maintenance mode before BitLocker can be enabled. To turn on the BitLocker for a clustered disk using Windows PowerShell, perform the following steps: 1. Install the BitLocker drive encryption feature if it isn't already installed. - 2. Check the status of the cluster disk using Windows PowerShell. - ```powershell Get-ClusterResource "Cluster Disk 1" ``` - 3. Put the physical disk resource into maintenance mode using Windows PowerShell. - ```powershell Get-ClusterResource "Cluster Disk 1" | Suspend-ClusterResource ``` - 4. Identify the name of the cluster with Windows PowerShell. - ```powershell Get-Cluster ``` - 5. Enable BitLocker a volume with an **ADAccountOrGroup** protector, using the cluster name. For example, use a command such as: - ```powershell Enable-BitLocker E: -ADAccountOrGroupProtector -ADAccountOrGroup CLUSTER$ ``` @@ -133,9 +123,7 @@ When the cluster service owns a disk resource already, the disk resource needs t **`Manage-bde.exe`** can also be used to enable BitLocker on clustered volumes. The steps needed to add a physical disk resource or CSV2.0 volume to an existing cluster are: 1. Verify that the BitLocker drive encryption feature is installed on the computer. - 2. Ensure new storage is formatted as NTFS. - 3. Encrypt the volume, add a recovery key and add the cluster administrator as a protector key using **`manage-bde.exe`** in a Command Prompt window. For example: ```cmd @@ -143,7 +131,6 @@ When the cluster service owns a disk resource already, the disk resource needs t ``` 1. BitLocker will check to see if the disk is already part of a cluster. If it is, administrators will encounter a hard block. Otherwise, the encryption continues. - 2. Using the -sync parameter is optional. However, using the -sync parameter has the advantage of ensuring the command waits until the encryption for the volume is completed. The volume is then released for use in the cluster storage pool. 4. Open the Failover Cluster Manager snap-in or cluster PowerShell cmdlets to enable the disk to be clustered. @@ -153,7 +140,6 @@ When the cluster service owns a disk resource already, the disk resource needs t 5. During the resource online operation, cluster checks whether the disk is BitLocker encrypted. 1. If the volume isn't BitLocker enabled, traditional cluster online operations occur. - 2. If the volume is BitLocker enabled, BitLocker checks if the volume is **locked**. If the volume is **locked**, BitLocker impersonates the CNO and unlocks the volume using the CNO protector. If these actions by BitLocker fail, an event is logged. The logged event will state that the volume couldn't be unlocked and the online operation has failed. 6. Once the disk is online in the storage pool, it can be added to a CSV by right-clicking the disk resource, and choosing "**Add to cluster shared volumes**". @@ -196,16 +182,10 @@ In the case where a physical disk resource experiences a failover event during c Some other considerations to take into account for BitLocker on clustered storage include: -- BitLocker volumes have to be initialized and begin encryption before they're available to add to a CSV2.0 volume. - -- If an administrator needs to decrypt a CSV volume, remove the volume from the cluster or put it into disk maintenance mode. The CSV can be added back to the cluster while waiting for decryption to complete. - -- If an administrator needs to start encrypting a CSV volume, remove the volume from the cluster or put it into maintenance mode. - -- If conversion is paused with encryption in progress and the CSV volume is offline from the cluster, the cluster thread (health check) automatically resumes conversion when the volume is online to the cluster. - -- If conversion is paused with encryption in progress and a physical disk resource volume is offline from the cluster, the BitLocker driver automatically resumes conversion when the volume is online to the cluster. - -- If conversion is paused with encryption in progress, while the CSV volume is in maintenance mode, the cluster thread (health check) automatically resumes conversion when moving the volume back from maintenance. - -- If conversion is paused with encryption in progress, while the disk resource volume is in maintenance mode, the BitLocker driver automatically resumes conversion when the volume is moved back from maintenance mode. +- BitLocker volumes have to be initialized and begin encryption before they're available to add to a CSV2.0 volume +- If an administrator needs to decrypt a CSV volume, remove the volume from the cluster or put it into disk maintenance mode. The CSV can be added back to the cluster while waiting for decryption to complete +- If an administrator needs to start encrypting a CSV volume, remove the volume from the cluster or put it into maintenance mode +- If conversion is paused with encryption in progress and the CSV volume is offline from the cluster, the cluster thread (health check) automatically resumes conversion when the volume is online to the cluster +- If conversion is paused with encryption in progress and a physical disk resource volume is offline from the cluster, the BitLocker driver automatically resumes conversion when the volume is online to the cluster +- If conversion is paused with encryption in progress, while the CSV volume is in maintenance mode, the cluster thread (health check) automatically resumes conversion when moving the volume back from maintenance +- If conversion is paused with encryption in progress, while the disk resource volume is in maintenance mode, the BitLocker driver automatically resumes conversion when the volume is moved back from maintenance mode diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index 03e0838920..75c8a96332 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -67,4 +67,6 @@ BitLocker has the following requirements: > [!div class="nextstepaction"] > Learn about technologies and features to protect against attacks on the BitLocker encryption key: +> +> > [BitLocker countermeasures >](countermeasures.md) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/install-server.md b/windows/security/operating-system-security/data-protection/bitlocker/install-server.md index 4cbac906e9..2148c9e0a2 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/install-server.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/install-server.md @@ -3,6 +3,10 @@ title: Install BitLocker on Windows Server description: Learn how to install BitLocker on Windows Server. ms.topic: how-to ms.date: 10/05/2023 +appliesto: +- ✅ Windows Server 2022 +- ✅ Windows Server 2019 +- ✅ Windows Server 2016 --- # Install BitLocker on Windows Server diff --git a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md index b812569735..b6de86aac4 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/policy-settings.md @@ -135,10 +135,10 @@ The following table lists the BitLocker policies applicable to all drive types, --- -## BitLocker and policcy settings compliance +## BitLocker and policy settings compliance -If a device isn't compliant with the configured policy settings, BitLocker may not be turned on, or BitLocker configuration may be modified until the device is in a compliant state. When a drive becomes out of compliance with policy settings, only changes to the BitLocker configuration that will bring it into compliance are allowed. Such scenario could occur, for example, if a previously encrypted drive was brought out of compliance by change in policy settings. +If a device isn't compliant with the configured policy settings, BitLocker may not be turned on, or BitLocker configuration may be modified until the device is in a compliant state. When a drive becomes out of compliance with policy settings, only changes to the BitLocker configuration that will bring it into compliance are allowed. Such scenario could occur, for example, if a previously encrypted drive becomes noncompliant by a policy setting change. -If multiple changes are necessary to bring the drive into compliance, BitLocker protection may need to be suspended, the necessary changes made, and then protection resumed. Such situation could occur, for example, if a removable drive is initially configured for unlock with a password but then policy settings are changed to disallow passwords and require smart cards. In this situation, BitLocker protection needs to be suspended by using the [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line tool, delete the password unlock method, and add the smart card method. After this process is complete, BitLocker is compliant with the policy setting, and BitLocker protection on the drive can be resumed. +If multiple changes are necessary to bring the drive into compliance, BitLocker protection may need to be suspended, the necessary changes made, and then protection resumed. Such situation could occur, for example, if a removable drive is initially configured for unlock with a password, and then policy settings are changed to require smart cards. In this scenario, BitLocker protection needs to be suspended by using the [`manage-bde.exe`](/windows-server/administration/windows-commands/manage-bde) command-line tool, delete the password unlock method, and add the smart card method. After this process is complete, BitLocker is compliant with the policy setting, and BitLocker protection on the drive can be resumed. -In other scenarios, to bring the drive into compliance with a change in policy settings, BitLocker may need to be disabled and the drive decrypted followed by re-enabling BitLocker and then re-encrypting the drive. An example of this scenario is when the BitLocker encryption method or cipher strength is changed. The [`manage-bde`](/windows-server/administration/windows-commands/manage-bde) command-line can also be used in this scenario to help bring the device into compliance. +In other scenarios, to bring the drive into compliance with a change in policy settings, BitLocker may need to be disabled and the drive decrypted followed by re-enabling BitLocker and then re-encrypting the drive. An example of this scenario is when the BitLocker encryption method or cipher strength is changed. The [`manage-bde.exe`](/windows-server/administration/windows-commands/manage-bde) command-line can also be used in this scenario to help bring the device into compliance. From 1be226ace2c13d4bd9a576af653d1ee10ed6fe24 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 6 Oct 2023 10:45:17 -0400 Subject: [PATCH 094/505] updates --- .../bitlocker/countermeasures.md | 2 +- .../bitlocker/device-encryption.md | 60 ++++ ...-use-of-passwords-for-fixed-data-drives.md | 5 - ...f-passwords-for-operating-system-drives.md | 5 - ...-of-passwords-for-removable-data-drives.md | 5 - .../data-protection/bitlocker/index.md | 27 +- .../bitlocker/operations-guide.md | 12 +- .../data-protection/bitlocker/plan.md | 314 ------------------ .../bitlocker/planning-guide.md | 197 +++++++++++ .../bitlocker/recovery-guide.md | 5 + .../data-protection/bitlocker/toc.yml | 6 +- 11 files changed, 287 insertions(+), 351 deletions(-) create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md delete mode 100644 windows/security/operating-system-security/data-protection/bitlocker/plan.md create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md diff --git a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index e2891ab013..e259d9a738 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -143,4 +143,4 @@ For secure administrative workstations, it's recommended to: > [!div class="nextstepaction"] > Learn how to plan for a BitLocker deployment in your organization: > -> [Plan for a BitLocker deployment >](plan.md) +> [BitLocker planning guide >](planning-guide.md) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md new file mode 100644 index 0000000000..c71d396dfa --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md @@ -0,0 +1,60 @@ +--- +title: Device Encryption +description: Learn how Device Encryption works for devices that support it. +ms.topic: conceptual +ms.date: 10/06/2023 +--- + +# Device Encryption + +Windows automatically enables BitLocker Device Encryption on devices that support Modern Standby. + +Unlike a standard BitLocker implementation, BitLocker Device Encryption is enabled automatically so that the device is always protected. The following list outlines how BitLocker Device Encryption is enabled automatically: + +- When a clean installation of Windows 11 or Windows 10 is completed and the out-of-box experience is finished, the computer is prepared for first use. As part of this preparation, BitLocker Device Encryption is initialized on the operating system drive and fixed data drives on the computer with a clear key that is the equivalent of standard BitLocker suspended state. In this state, the drive is shown with a warning icon in Windows Explorer. The yellow warning icon is removed after the TPM protector is created and the recovery key is backed up, as explained in the following bullet points. + +- If the device isn't domain joined, a Microsoft account that has been granted administrative privileges on the device is required. When the administrator uses a Microsoft account to sign in, the clear key is removed, a recovery key is uploaded to the online Microsoft account, and a TPM protector is created. Should a device require the recovery key, the user will be guided to use an alternate device and navigate to a recovery key access URL to retrieve the recovery key by using their Microsoft account credentials. + +- If the user uses a domain account to sign in, the clear key isn't removed until the user joins the device to a domain, and the recovery key is successfully backed up to Active Directory Domain Services (AD DS). The following Group Policy settings must be enabled for the recovery key to be backed up to AD DS: + + *Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** + + With this configuration, the recovery password is created automatically when the computer joins the domain, and then the recovery key is backed up to AD DS, the TPM protector is created, and the clear key is removed. + +- Similar to signing in with a domain account, the clear key is removed when the user signs in to an Azure AD account on the device. As described in the bullet point above, the recovery password is created automatically when the user authenticates to Azure AD. Then, the recovery key is backed up to Azure AD, the TPM protector is created, and the clear key is removed. + +Microsoft recommends automatically enabling BitLocker Device Encryption on any systems that support it. However, the automatic BitLocker Device Encryption process can be prevented by changing the following registry setting: + +- **Subkey**: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker` +- **Type**: `REG_DWORD` +- **Value**: `PreventDeviceEncryption` equal to `1` (True) + +> [!NOTE] +> BitLocker Device Encryption uses the XTS-AES 128-bit encryption method. If a different encryption method and/or cipher strength is needed but the device is already encrypted, it must first be decrypted before the new encryption method and/or cipher strength can be applied. After the device has been decrypted, different BitLocker settings can be applied. + +*Device Encryption* is a Windows feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device Encryption is available on all Windows versions, including Home edition, but requires a device to meet either [Modern Standby](/windows-hardware/design/device-experiences/modern-standby) or HSTI security requirements, and have no externally accessible ports that allow DMA access. + +Device Encryption encrypts the data on a device immediately, but doesn't enable protection until the key is safely backed up to the user's Microsoft account. The encrypted device is left in a *clear key* state, where the encryption key is stored in plain text on the volume to allow free access to the data. Even though the data is encrypted, the device is completely unprotected in this state. In this *clear key* state, `manage-bde.exe` will show data as encrypted, but **Protection Off**, and no protectors yet added. Device encription-capable devices are in this state if no Microsoft account user signs in as an administrator of the device. Connecting to a Microsoft account and the internet causes the recovery key to back up, protector to be added (using the device's TPM), and protection to be enabled. + +Difference between BitLocker and Device Encryption (DE): + +- Device Encryption turn BitLocker on automatically on Device Encryption-qualifying devices, with the recovery key automatically backed up to the user's Microsoft account +- Device Encryption adds a Device Encryption setting in the Settings app + +Device Encryption facts: + +- Device Encryption enables BitLocker automatically once a Microsoft Account is signed in to the device and the recovery key gets successfully backed up to the user's account + - On Windows Home edition, Device Encryption enables BitLocker with limited management capabilities (via the BitLocker Control Panel applet only) + - On other Windows versions where *full* BitLocker is present, Device Encryption's effect is to turn BitLocker on automatically instead of waiting for manual activation + +- If a device uses only local accounts, then it remains unprotected even though the data is encrypted +- Device Encryption has a UI in the Settings app to turn it on/off +- If Device Encryption is turned off, it will no longer automatically enable itself in the future. The user must enable it manually in Settings +- If a device doesn't initially qualify for Device Encryption, but then a change is made that causes the device to qualify (for example, turn Secure Boot on), Device Encryption will enable BitLocker automatically as soon as it detects it (if Device Encryption wasn't previously turned off) +- Device Encryption is enabled as soon as the device completes OOBE, but the work to encrypt all existing data waits for both AC power and idle time to start the actual encryption, therefore full protection may not be complete immediately. In most cases, encryption takes only minutes to complete + +- The Settings UI will not show Device Encryption enabled until encryption is complete +- manage-bde.exe is available and has all capabilities on all versions of Windows +- Device Encryption encrypts only fixed drives, will not encrypt external/USB drives + +You can check whether a device meets requirements for Device Encryption in the System Information app (msinfo32.exe). (see below for more) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md index eda3872d87..23994ddf50 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-fixed-data-drives.md @@ -22,11 +22,6 @@ Passwords must be at least eight characters. To configure a greater minimum leng If you disable or don't configure this policy setting, the default length constraint of eight characters applies to operating system drive passwords, and no complexity checks occur. -> [!IMPORTANT] -> Passwords can't be used if FIPS-compliance is enabled. -> -> The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting, which is located at **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** specifies whether FIPS-compliance is enabled. - | | Path | |--|--| | **CSP** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md index 8e463cb35f..710f513743 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-operating-system-drives.md @@ -22,11 +22,6 @@ Passwords must be at least eight characters. To configure a greater minimum leng If you disable or don't configure this policy setting, the default length constraint of eight characters applies to operating system drive passwords, and no complexity checks occur. -> [!IMPORTANT] -> Passwords can't be used if FIPS-compliance is enabled. -> -> The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting, which is located at **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** specifies whether FIPS-compliance is enabled. - | | Path | |--|--| | **CSP** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md index 68b20427e8..43332a883d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/includes/configure-use-of-passwords-for-removable-data-drives.md @@ -22,11 +22,6 @@ Passwords must be at least 8 characters. To configure a greater minimum length f If you disable or don't configure this policy setting, the default length constraint of eight characters applies to operating system drive passwords, and no complexity checks occur. -> [!IMPORTANT] -> Passwords can't be used if FIPS-compliance is enabled. -> -> The **System cryptography: Use FIPS-compliant algorithms for encryption, hashing, and signing** policy setting, which is located at **Computer Configuration** > **Windows Settings** > **Security Settings** > **Local Policies** > **Security Options** specifies whether FIPS-compliance is enabled. - | | Path | |--|--| | **CSP** | Not available | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index 75c8a96332..ac86412d60 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -10,33 +10,32 @@ ms.date: 09/25/2023 # BitLocker overview -BitLocker is a Windows security feature that provides encryption for entire volumes.\ -BitLocker addresses the threats of data theft or exposure from lost, stolen, or inappropriately decommissioned devices. +BitLocker is a Windows security feature that provides encryption for entire volumes, addressing the threats of data theft or exposure from lost, stolen, or inappropriately decommissioned devices. ## Practical applications -Data on a lost or stolen device is vulnerable to unauthorized access, either by running a software-attack tool against it, or by transferring the computer's hard drive to a different computer. BitLocker helps mitigate unauthorized data access by enhancing file and system protections. BitLocker also helps render data inaccessible when BitLocker-protected devices are decommissioned or recycled. +Data on a lost or stolen device is vulnerable to unauthorized access, either by running a software-attack tool against it, or by transferring the devices's hard drive to a different device. BitLocker helps mitigate unauthorized data access by enhancing file and system protections,rendering data inaccessible when BitLocker-protected devices are decommissioned or recycled. ## BitLocker and TPM -BitLocker provides maximum protection when used with a Trusted Platform Module (TPM). A TPM is a hardware component installed in many devices and it works with BitLocker to help protect user data and to ensure that a computer hasn't been tampered with while the system is offline. +BitLocker provides maximum protection when used with a Trusted Platform Module (TPM). A TPM is a common hardware component installed on Windows devices, and it works with BitLocker to ensure that a device hasn't been tampered with while the system is offline. On devices that don't have a TPM, BitLocker can still be used to encrypt the operating system drive. However, this implementation requires the user to insert a USB key to start the device or when resuming from hibernation. A password can also be used to protect the OS volume on a device without TPM. Both options don't provide the pre-startup system integrity verification offered by BitLocker with a TPM. -In addition to the TPM, BitLocker offers the option to lock the normal startup process until the user supplies a personal identification number (PIN) or inserts a removable device (such as a USB drive) that contains a startup key. These additional security measures provide multifactor authentication and assurance that the device won't start or resume from hibernation until the correct PIN or startup key is presented. +In addition to the TPM, BitLocker has the option to lock the normal startup process until the user supplies a personal identification number (PIN) or inserts a removable device (such as a USB drive) that contains a *startup key*. These security measures provide multifactor authentication and assurance that the device can't start or resume from hibernation until the correct PIN or startup key is presented. ## System requirements BitLocker has the following requirements: - For BitLocker to use the system integrity check provided by a TPM, the device must have TPM 1.2 or later versions. If a device doesn't have a TPM, saving a startup key on a removable drive is mandatory when enabling BitLocker -- A device with a TPM must also have a Trusted Computing Group (TCG)-compliant BIOS or UEFI firmware. The BIOS or UEFI firmware establishes a chain of trust for the pre-operating system startup, and it must include support for TCG-specified Static Root of Trust Measurement. A computer without a TPM doesn't require TCG-compliant firmware -- The system BIOS or UEFI firmware (for TPM and non-TPM devices) must support the USB mass storage device class, including reading small files on a USB drive in the pre-operating system environment +- A device with a TPM must also have a *Trusted Computing Group* (TCG)-compliant BIOS or UEFI firmware. The BIOS or UEFI firmware establishes a chain of trust for the pre-operating system startup, and it must include support for *TCG-specified Static Root of Trust Measurement*. A computer without a TPM doesn't require TCG-compliant firmware +- The system BIOS or UEFI firmware (for TPM and non-TPM devices) must support the USB mass storage device class, and reading files on a USB drive in the pre-operating system environment > [!NOTE] - > TPM 2.0 is not supported in *Legacy* and *Compatibility Support Module (CSM)* modes of the BIOS. Devices with TPM 2.0 must have their BIOS mode configured as native UEFI only. The Legacy and CSM options must be disabled. For added security, enable the secure boot feature. + > TPM 2.0 is not supported in *Legacy* and *Compatibility Support Module (CSM)* modes of the BIOS. Devices with TPM 2.0 must have their BIOS mode configured as native UEFI only. The Legacy and CSM options must be disabled. For added security, enable the *secure boot* feature. > - > Installed Operating System on hardware in Legacy mode stops the OS from booting when the BIOS mode is changed to UEFI. Use the tool [`mbr2gpt.exe`](/windows/deployment/mbr-to-gpt) before changing the BIOS mode, which prepares the OS and the disk to support UEFI. + > Installed operating system on hardware in Legacy mode stops the OS from booting when the BIOS mode is changed to UEFI. Use the tool [`mbr2gpt.exe`](/windows/deployment/mbr-to-gpt) before changing the BIOS mode, which prepares the OS and the disk to support UEFI. - The hard disk must be partitioned with at least two drives: - The *operating system drive* (or boot drive) contains the OS and its support files. It must be formatted with the NTFS file system @@ -46,10 +45,10 @@ BitLocker has the following requirements: - must be formatted with the FAT32 file system on computers that use UEFI-based firmware, or with the NTFS file system on computers that use BIOS firmware - it's recommended that to be approximately 350 MB in size. After BitLocker is turned on, it should have approximately 250 MB of free space -> [!IMPORTANT] -> When installed on a new device, Windows automatically creates the partitions that are required for BitLocker. -> -> If the drive was prepared as a single contiguous space, BitLocker requires a new volume to hold the boot files. `BdeHdCfg.exe` can create the volume. For more information about using the tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. + > [!IMPORTANT] + > When installed on a new device, Windows automatically creates the partitions that are required for BitLocker. + > + > If the drive was prepared as a single contiguous space, BitLocker requires a new volume to hold the boot files. `BdeHdCfg.exe` can create the volume. For more information about using the tool, see [Bdehdcfg](/windows-server/administration/windows-commands/bdehdcfg) in the Command-Line Reference. > [!NOTE] > When installing the BitLocker optional component on a server, the *Enhanced Storage* feature must be installed. The feature is used to support hardware encrypted drives. @@ -58,6 +57,8 @@ BitLocker has the following requirements: *Device Encryption* is a security feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device Encryption requires a device to meet either [Modern Standby](/windows-hardware/design/device-experiences/modern-standby) or HSTI security requirements, and have no externally accessible ports that allow DMA access. +To learn more about Device Encryption, see the [BitLocker Planning Guide](planning-guide.md#device-encryption). + [!INCLUDE [bitlocker](../../../../../includes/licensing/bitlocker-enablement.md)] > [!NOTE] diff --git a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md index 03fc9b972d..659aee4de0 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/operations-guide.md @@ -89,7 +89,7 @@ Volume C: [Local Disk] #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) -Checking BitLocker status with theControl Panel is a common method used by most users. Once opened, the status for each volume is displayed next to the volume description and drive letter. Available status return values with applet include: +Checking BitLocker status with the Control Panel is a common method used by most users. Once opened, the status for each volume is displayed next to the volume description and drive letter. Available status return values with applet include: | Status | Description | | - | - | @@ -98,7 +98,7 @@ Checking BitLocker status with theControl Panel is a common method used by most | **Suspended** | BitLocker is suspended and not actively protecting the volume | | **Waiting for Activation**| BitLocker is enabled with a clear protector key and requires further action to be fully protected| -If a drive is pre-provisioned with BitLocker, a status of **Waiting for Activation** displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use theControl Panel, PowerShell or `manage-bde.exe` tool to add an appropriate key protector. Once complete, the Control Panel will update to reflect the new status. +If a drive is pre-provisioned with BitLocker, a status of **Waiting for Activation** displays with a yellow exclamation icon on the volume. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't in a protected state and needs to have a secure key added to the volume before the drive is fully protected. Administrators can use the Control Panel, PowerShell or `manage-bde.exe` tool to add an appropriate key protector. Once complete, the Control Panel will update to reflect the new status. --- @@ -394,7 +394,7 @@ or additional protectors can be added to the volume first. It's recommended to a #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) -Using theControl Panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. +Using the Control Panel, administrators can choose **Turn on BitLocker** to start the BitLocker Drive Encryption wizard and add a protector, like PIN for an operating system volume (or password if no TPM exists), or a password or smart card protector to a data volume. The drive security window displays prior to changing the volume status. Selecting **Activate BitLocker** will complete the encryption process. Once BitLocker protector activation is completed, the completion notice is displayed. @@ -437,11 +437,11 @@ manage-bde.exe -status C: #### [:::image type="icon" source="images/controlpanel.svg"::: **Control Panel**](#tab/controlpanel) -BitLocker decryption using theControl Panel is done using a wizard. TheControl Panel can be called from Windows Explorer or by opening it directly. After opening the BitLockerControl Panel applet, users can select the **Turn off BitLocker** option to begin the process.\ -After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to theControl Panel. +BitLocker decryption using the Control Panel is done using a wizard. TheControl Panel can be called from Windows Explorer or by opening it directly. After opening the BitLockerControl Panel applet, users can select the **Turn off BitLocker** option to begin the process.\ +After selecting the **Turn off BitLocker** option, the user chooses to continue by clicking the confirmation dialog. With **Turn off BitLocker** confirmed, the drive decryption process begins and reports status to the Control Panel. TheControl Panel doesn't report decryption progress but displays it in the notification area of the task bar. Selecting the notification area icon will open a modal dialog with progress. -Once decryption is complete, the drive updates its status in theControl Panel and becomes available for encryption. +Once decryption is complete, the drive updates its status in the Control Panel and becomes available for encryption. --- diff --git a/windows/security/operating-system-security/data-protection/bitlocker/plan.md b/windows/security/operating-system-security/data-protection/bitlocker/plan.md deleted file mode 100644 index 59d04fe105..0000000000 --- a/windows/security/operating-system-security/data-protection/bitlocker/plan.md +++ /dev/null @@ -1,314 +0,0 @@ ---- -title: Plan for a BitLocker deployment -description: Learn how to plan for a BitLocker deployment in your organization. -ms.topic: conceptual -ms.date: 11/08/2022 ---- - -# Plan for a BitLocker deployment - -This article for the IT professional explains how to plan BitLocker deployment. - -When BitLocker deployment strategy is defined, define the appropriate policies and configuration requirements based on the business requirements of the organization. The following sections will help with collecting information. Use this information to help with the decision-making process about deploying and managing BitLocker systems. - -## Audit the environment - -To plan a BitLocker deployment, understand the current environment. Perform an informal audit to define the current policies, procedures, and hardware environment. Review the existing disk encryption software corporate security policies. If the organization isn't using disk encryption software, then none of these policies will exist. If disk encryption software is being used, then the organization's policies might need to be changed to use the BitLocker features. - -To help document the organization's current disk encryption security policies, answer the following questions: - -- Are there policies to determine which computers will use BitLocker and which computers won't use BitLocker? -- What policies exist to control recovery password and recovery key storage? -- What are the policies for validating the identity of users who need to perform BitLocker recovery? -- What policies exist to control who in the organization has access to recovery data? -- What policies exist to control computer decommissioning or retirement? - -## Encryption keys and authentication - -BitLocker helps prevent unauthorized access to data on lost or stolen computers by: - -- Encrypting the entire Windows operating system volume on the hard disk. -- Verifying the boot process integrity. - -The trusted platform module (TPM) is a hardware component installed in many newer computers by the computer manufacturers. It works with BitLocker to help protect user data. And, help make sure a computer hasn't been tampered with while the system was offline. - -Also, BitLocker can lock the normal startup process until the user supplies a personal identification number (PIN) or inserts a removable USB device that contains a startup key. These extra security measures provide multifactor authentication. They also make sure that the computer won't start or resume from hibernation until the correct PIN or startup key is presented. - -On computers that don't have a TPM version 1.2 or higher, BitLocker can still be used to encrypt the Windows operating system volume. However, this implementation requires the user to insert a USB startup key to start the computer or resume from hibernation. It doesn't provide the pre-startup system integrity verification offered by BitLocker working with a TPM. - -### BitLocker key protectors - -| Key protector | Description | -| - | - | -| *TPM* | A hardware device used to help establish a secure root-of-trust. BitLocker only supports TPM 1.2 or higher versions.| -| *PIN* | A user-entered numeric key protector that can only be used in addition to the TPM.| -| *Enhanced PIN* | A user-entered alphanumeric key protector that can only be used in addition to the TPM.| -| *Startup key* | An encryption key that can be stored on most removable media. This key protector can be used alone on non-TPM computers, or with a TPM for added security.| -| *Recovery password* | A 48-digit number used to unlock a volume when it is in recovery mode. Numbers can often be typed on a regular keyboard. If the numbers on the normal keyboard aren't responding, the function keys (F1-F10) can be used to input the numbers.| -| *Recovery key*| An encryption key stored on removable media that can be used for recovering data encrypted on a BitLocker volume.| - -### BitLocker authentication methods - -| Authentication method | Requires user interaction | Description | -| - | - | - | -| *TPM only*| No| TPM validates early boot components.| -| *TPM + PIN* | Yes| TPM validates early boot components. The user must enter the correct PIN before the start-up process can continue, and before the drive can be unlocked. The TPM enters lockout if the incorrect PIN is entered repeatedly, to protect the PIN from brute force attacks. The number of repeated attempts that will trigger a lockout is variable.| -| *TPM + Network key* | No | The TPM successfully validates early boot components, and a valid encrypted network key has been provided from the WDS server. This authentication method provides automatic unlock of operating system volumes at system reboot while still maintaining multifactor authentication. | -| *TPM + startup key* | Yes| The TPM successfully validates early boot components, and a USB flash drive containing the startup key has been inserted.| -| *Startup key only* | Yes| The user is prompted for the USB flash drive that has the recovery key and/or startup key, and then reboot the computer.| - -#### Will computers without TPM 1.2 or higher versions be supported? - -Determine whether computers that don't have a TPM 1.2 or higher versions in the environment will be supported. If it's decided to support computers with TPM 1.2 or higher versions, a user must use a USB startup key to boot the system. This startup key requires extra support processes similar to multifactor authentication. - -#### What areas of the organization need a baseline level of data protection? - -The TPM-only authentication method provides the most transparent user experience for organizations that need a baseline level of data protection to meet security policies. It has the lowest total cost of ownership. TPM-only might also be more appropriate for computers that are unattended or that must reboot unattended. - -However, TPM-only authentication method offers the lowest level of data protection. This authentication method protects against attacks that modify early boot components. But, the level of protection can be affected by potential weaknesses in hardware or in the early boot components. BitLocker's multifactor authentication methods significantly increase the overall level of data protection. - -#### What areas of the organization need a more secure level of data protection? - -If there are user computers with highly sensitive data, then deploy BitLocker with multifactor authentication on those systems. Requiring the user to input a PIN significantly increases the level of protection for the system. BitLocker Network Unlock can also be used to allow these computers to automatically unlock when connected to a trusted wired network that can provide the Network Unlock key. - -#### What multifactor authentication method does the organization prefer? - -The protection differences provided by multifactor authentication methods can't be easily quantified. Consider each authentication method's impact on Helpdesk support, user education, user productivity, and any automated systems management processes. - -## TPM hardware configurations - -In the deployment plan, identify what TPM-based hardware platforms will be supported. Document the hardware models from an OEM(s) being used by the organization so that their configurations can be tested and supported. TPM hardware requires special consideration during all aspects of planning and deployment. - -### TPM 1.2 states and initialization - -For TPM 1.2, there are multiple possible states. Windows automatically initializes the TPM, which brings it to an enabled, activated, and owned state. This state is the state that BitLocker requires before it can use the TPM. - -### Endorsement keys - -For a TPM to be usable by BitLocker, it must contain an endorsement key, which is an RSA key pair. The private half of the key pair is held inside the TPM and is never revealed or accessible outside the TPM. If the TPM doesn't have an endorsement key, BitLocker will force the TPM to generate one automatically as part of BitLocker setup. - -An endorsement key can be created at various points in the TPM's lifecycle, but needs to be created only once for the lifetime of the TPM. If an endorsement key doesn't exist for the TPM, it must be created before TPM ownership can be taken. - -For more information about the TPM and the TCG, see the Trusted Computing Group: Trusted Platform Module (TPM) Specifications (). - -## Non-TPM hardware configurations - -Devices that don't include a TPM can still be protected by drive encryption. Windows To Go workspaces can be BitLocker protected using a startup password and PCs without a TPM can use a startup key. - -Use the following questions to identify issues that might affect the deployment in a non-TPM configuration: - -- Are password complexity rules in place? -- Is there a budget for USB flash drives for each of these computers? -- Do existing non-TPM devices support USB devices at boot time? - -Test the individual hardware platforms with the BitLocker system check option while enabling BitLocker. The system check makes sure that BitLocker can read the recovery information from a USB device and encryption keys correctly before it encrypts the volume. CD and DVD drives can't act as a block storage device and can't be used to store the BitLocker recovery material. - -## Disk configuration considerations - -To function correctly, BitLocker requires a specific disk configuration. BitLocker requires two partitions that meet the following requirements: - -- The operating system partition contains the operating system and its support files; it must be formatted with the NTFS file system -- The system partition (or boot partition) includes the files needed to load Windows after the BIOS or UEFI firmware has prepared the system hardware. BitLocker isn't enabled on this partition. For BitLocker to work, the system partition must not be encrypted, and must be on a different partition than the operating system. On UEFI platforms, the system partition must be formatted with the FAT 32-file system. On BIOS platforms, the system partition must be formatted with the NTFS file system. It should be at least 350 MB in size. - -Windows setup automatically configures the disk drives of computers to support BitLocker encryption. - -Windows Recovery Environment (Windows RE) is an extensible recovery platform that is based on Windows Pre-installation Environment (Windows PE). When the computer fails to start, Windows automatically transitions into this environment, and the Startup Repair tool in Windows RE automates the diagnosis and repair of an unbootable Windows installation. Windows RE also contains the drivers and tools that are needed to unlock a volume protected by BitLocker by providing a recovery key or recovery password. To use Windows RE with BitLocker, the Windows RE boot image must be on a volume that isn't protected by BitLocker. - -Windows RE can also be used from boot media other than the local hard disk. If Windows RE isn't installed on the local hard disk of BitLocker-enabled computers, then different methods can be used to boot Windows RE. For example, Windows Deployment Services (WDS), CD-ROM, or USB flash drive can be used for recovery. - -## BitLocker provisioning - -BitLocker can be provisioned before the operating system is installed. Preprovisioning requires the computer have a TPM. - -To check the BitLocker status of a particular volume, administrators can look at the drive status in the BitLockerControl Panel applet or Windows Explorer. The "Waiting For Activation" status with a yellow exclamation icon means that the drive was preprovisioned for BitLocker. This status means that there was only a clear protector used when encrypting the volume. In this case, the volume isn't protected, and needs to have a secure key added to the volume before the drive is considered fully protected. Administrators can use theControl Panel options, the **manage-bde** tool, or WMI APIs to add an appropriate key protector. The volume status will be updated. - -When using theControl Panel options, administrators can choose to **Turn on BitLocker** and follow the steps in the wizard to add a protector, such as a PIN for an operating system volume (or a password if no TPM exists), or a password or smart card protector to a data volume. Then the drive security window is presented before changing the volume status. - -Administrators can enable BitLocker before to operating system deployment from the Windows Pre-installation Environment (WinPE). This step is done with a randomly generated clear key protector applied to the formatted volume. It encrypts the volume before running the Windows setup process. If the encryption uses the Used Disk Space Only option, then this step takes only a few seconds. And, it incorporates into the regular deployment processes. - -## Used Disk Space Only encryption - -The BitLocker Setup wizard provides administrators the ability to choose the Used Disk Space Only or Full encryption method when enabling BitLocker for a volume. Administrators can use the BitLocker policy setting to enforce either Used Disk Space Only or Full disk encryption. - -Launching the BitLocker Setup wizard prompts for the authentication method to be used (password and smart card are available for data volumes). Once the method is chosen and the recovery key is saved, the wizard asks to choose the drive encryption type. Select Used Disk Space Only or Full drive encryption. - -With Used Disk Space Only, just the portion of the drive that contains data will be encrypted. Unused space will remain unencrypted. This behavior causes the encryption process to be much faster, especially for new PCs and data drives. When BitLocker is enabled with this method, as data is added to the drive, the portion of the drive used is encrypted. So, there's never unencrypted data stored on the drive. - -With Full drive encryption, the entire drive is encrypted, whether data is stored on it or not. This option is useful for drives that have been repurposed, and may contain data remnants from their previous use. - -## Active Directory Domain Services considerations - -BitLocker integrates with Microsoft Entra ID and Active Directory Domain Services (AD DS) to provide centralized key management. By default, no recovery information is backed up to Active Directory. Administrators can configure the following group policy setting for each drive type to enable backup of BitLocker recovery information: - -**Computer Configuration** > **Administrative Templates** > **Windows Components** > **BitLocker Drive Encryption** > ***drive type*** > **Choose how BitLocker-protected drives can be recovered**. - -By default, only Domain Admins have access to BitLocker recovery information, but [access can be delegated to others](/archive/blogs/craigf/delegating-access-in-ad-to-bitlocker-recovery-information). - -The following recovery data is saved for each computer object: - -- **Recovery password** - - A 48-digit recovery password used to recover a BitLocker-protected volume. Users enter this password to unlock a volume when BitLocker enters recovery mode. - -- **Key package data** - - With this key package and the recovery password, portions of a BitLocker-protected volume can be decrypted if the disk is severely damaged. Each key package works only with the volume it was created on, which is identified by the corresponding volume ID. - -## FIPS support for recovery password protector - -Functionality introduced in Windows Server 2012 R2 and Windows 8.1 allows BitLocker to be fully functional in FIPS mode. - -> [!NOTE] -> The United States Federal Information Processing Standard (FIPS) defines security and interoperability requirements for computer systems that are used by the U.S. Federal Government. The FIPS-140 standard defines approved cryptographic algorithms. The FIPS-140 standard also sets forth requirements for key generation and for key management. The National Institute of Standards and Technology (NIST) uses the Cryptographic Module Validation Program (CMVP) to determine whether a particular implementation of a cryptographic algorithm is compliant with the FIPS-140 standard. An implementation of a cryptographic algorithm is considered FIPS-140-compliant only if it has been submitted for and has passed NIST validation. An algorithm that has not been submitted cannot be considered FIPS-compliant even if the implementation produces identical data as a validated implementation of the same algorithm. - -Before these supported versions of Windows, when Windows was in FIPS mode, BitLocker prevented the creation or use of recovery passwords and instead forced the user to use recovery keys. For more information about these issues, see the support article [The recovery password for Windows BitLocker isn't available when FIPS compliant policy is set in Windows](/troubleshoot/windows-client/windows-security/bitlocker-recovery-password-not-fips-compliant). - -However, on computers running these supported systems with BitLocker enabled: - -- FIPS-compliant recovery password protectors can be created when Windows is in FIPS mode. These protectors use the FIPS-140 NIST SP800-132 algorithm. - -- Recovery passwords created in FIPS mode on Windows 8.1 can be distinguished from recovery passwords created on other systems. - -- Recovery unlock using the FIPS-compliant, algorithm-based recovery password protector works in all cases that currently work for recovery passwords. - -- When FIPS-compliant recovery passwords unlock volumes, the volume is unlocked to allow read/write access even while in FIPS mode. - -- FIPS-compliant recovery password protectors can be exported and stored in AD a while in FIPS mode. - -The BitLocker Group Policy settings for recovery passwords work the same for all Windows versions that support BitLocker, whether in FIPS mode or not. - -On Windows Server 2012 R2 and Windows 8.1 and older, recovery passwords generated on a system in FIPS mode can't be used. Recovery passwords created on Windows Server 2012 R2 and Windows 8.1 are incompatible with BitLocker on operating systems older than Windows Server 2012 R2 and Windows 8.1. So, recovery keys should be used instead. - - - -## BitLocker Device Encryption - -Windows automatically enables BitLocker Device Encryption on devices that support Modern Standby. - -Unlike a standard BitLocker implementation, BitLocker Device Encryption is enabled automatically so that the device is always protected. The following list outlines how BitLocker Device Encryption is enabled automatically: - -- When a clean installation of Windows 11 or Windows 10 is completed and the out-of-box experience is finished, the computer is prepared for first use. As part of this preparation, BitLocker Device Encryption is initialized on the operating system drive and fixed data drives on the computer with a clear key that is the equivalent of standard BitLocker suspended state. In this state, the drive is shown with a warning icon in Windows Explorer. The yellow warning icon is removed after the TPM protector is created and the recovery key is backed up, as explained in the following bullet points. - -- If the device isn't domain joined, a Microsoft account that has been granted administrative privileges on the device is required. When the administrator uses a Microsoft account to sign in, the clear key is removed, a recovery key is uploaded to the online Microsoft account, and a TPM protector is created. Should a device require the recovery key, the user will be guided to use an alternate device and navigate to a recovery key access URL to retrieve the recovery key by using their Microsoft account credentials. - -- If the user uses a domain account to sign in, the clear key isn't removed until the user joins the device to a domain, and the recovery key is successfully backed up to Active Directory Domain Services (AD DS). The following Group Policy settings must be enabled for the recovery key to be backed up to AD DS: - - *Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** - - With this configuration, the recovery password is created automatically when the computer joins the domain, and then the recovery key is backed up to AD DS, the TPM protector is created, and the clear key is removed. - -- Similar to signing in with a domain account, the clear key is removed when the user signs in to an Azure AD account on the device. As described in the bullet point above, the recovery password is created automatically when the user authenticates to Azure AD. Then, the recovery key is backed up to Azure AD, the TPM protector is created, and the clear key is removed. - -Microsoft recommends automatically enabling BitLocker Device Encryption on any systems that support it. However, the automatic BitLocker Device Encryption process can be prevented by changing the following registry setting: - -- **Subkey**: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker` -- **Type**: `REG_DWORD` -- **Value**: `PreventDeviceEncryption` equal to `1` (True) - -> [!NOTE] -> BitLocker Device Encryption uses the XTS-AES 128-bit encryption method. If a different encryption method and/or cipher strength is needed but the device is already encrypted, it must first be decrypted before the new encryption method and/or cipher strength can be applied. After the device has been decrypted, different BitLocker settings can be applied. - -*Device Encryption* is a Windows feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device Encryption is available on all Windows versions, including Home edition, but requires a device to meet either [Modern Standby](/windows-hardware/design/device-experiences/modern-standby) or HSTI security requirements, and have no externally accessible ports that allow DMA access. - -Device Encryption encrypts the data on a device immediately, but doesn't enable protection until the key is safely backed up to the user's Microsoft account. The encrypted device is left in a *clear key* state, where the encryption key is stored in plain text on the volume to allow free access to the data. Even though the data is encrypted, the device is completely unprotected in this state. In this *clear key* state, `manage-bde.exe` will show data as encrypted, but **Protection Off**, and no protectors yet added. Device encription-capable devices are in this state if no Microsoft account user signs in as an administrator of the device. Connecting to a Microsoft account and the internet causes the recovery key to back up, protector to be added (using the device's TPM), and protection to be enabled. - -Difference between BitLocker and Device Encryption (DE): - -- Device Encryption turn BitLocker on automatically on Device Encryption-qualifying devices, with the recovery key automatically backed up to the user's Microsoft account -- Device Encryption adds a Device Encryption setting in the Settings app - -Device Encryption facts: - -- Device Encryption enables BitLocker automatically once a Microsoft Account is signed in to the device and the recovery key gets successfully backed up to the user's account - - On Windows Home edition, Device Encryption enables BitLocker with limited management capabilities (via the BitLocker Control Panel applet only) - - On other Windows versions where *full* BitLocker is present, Device Encryption's effect is to turn BitLocker on automatically instead of waiting for manual activation - -- If a device uses only local accounts, then it remains unprotected even though the data is encrypted -- Device Encryption has a UI in the Settings app to turn it on/off -- If Device Encryption is turned off, it will no longer automatically enable itself in the future. The user must enable it manually in Settings -- If a device doesn't initially qualify for Device Encryption, but then a change is made that causes the device to qualify (for example, turn Secure Boot on), Device Encryption will enable BitLocker automatically as soon as it detects it (if Device Encryption wasn't previously turned off) -- Device Encryption is enabled as soon as the device completes OOBE, but the work to encrypt all existing data waits for both AC power and idle time to start the actual encryption, therefore full protection may not be complete immediately. In most cases, encryption takes only minutes to complete - -- The Settings UI will not show Device Encryption enabled until encryption is complete -- manage-bde.exe is available and has all capabilities on all versions of Windows -- Device Encryption encrypts only fixed drives, will not encrypt external/USB drives - -You can check whether a device meets requirements for Device Encryption in the System Information app (msinfo32.exe). (see below for more) diff --git a/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md new file mode 100644 index 0000000000..f2f399cb14 --- /dev/null +++ b/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md @@ -0,0 +1,197 @@ +--- +title: BitLocker planning guide +description: Learn how to plan for a BitLocker deployment in your organization. +ms.topic: conceptual +ms.date: 10/06/2023 +--- + +# BitLocker planning guide + +A BitLocker deployment strategy inculudes definining the appropriate policies and configuration requirements based on your organization's security requirements. This article helps collecting the information to assist with a BitLocker deployment. + +## Audit the environment + +To plan a BitLocker deployment, understand the current environment. Perform an informal audit to define the current policies, procedures, and hardware environment. Review the existing disk encryption software corporate security policies. If the organization isn't using disk encryption software, then these policies may not exist. If disk encryption software is being used, then the organization's policies might need to be changed to use the BitLocker features. + +To help document the organization's current disk encryption security policies, answer the following questions: + +- Are there policies to determine which devices will use BitLocker and which computers won't? +- What policies exist to control recovery password and recovery key storage? +- What are the policies for validating the identity of users who need to perform BitLocker recovery? +- What policies exist to control who in the organization has access to recovery data? +- What policies exist to control computer decommissioning or retirement? + +## Encryption keys and authentication + +A trusted platform module (TPM) is a hardware component installed in many Windows devices by the manufacturers. It works with BitLocker to help protect user data and to make sure a device hasn't been tampered with while the system was offline. + +BitLocker can lock the normal startup process until the user supplies a personal identification number (PIN) or inserts a removable USB device that contains a startup key. These extra security measures provide multifactor authentication. They also make sure that the computer won't start or resume from hibernation until the correct PIN or startup key is presented. + +On devices that don't have a TPM, BitLocker can still be used to encrypt the Windows operating system volume. However, this implementation requires the user to insert a USB startup key to start the computer or resume from hibernation. It doesn't provide the pre-startup system integrity verification offered by BitLocker working with a TPM. + +### BitLocker key protectors + +| Key protector | Description | +| - | - | +| *TPM* | A hardware device used to help establish a secure root-of-trust. BitLocker only supports TPM 1.2 or higher versions.| +| *PIN* | A user-entered numeric key protector that can only be used in addition to the TPM.| +| *Enhanced PIN* | A user-entered alphanumeric key protector that can only be used in addition to the TPM.| +| *Startup key* | An encryption key that can be stored on most removable media. This key protector can be used alone on non-TPM computers, or with a TPM for added security.| +| *Recovery password* | A 48-digit number used to unlock a volume when it is in recovery mode. Numbers can often be typed on a regular keyboard. If the numbers on the normal keyboard aren't responding, the function keys (F1-F10) can be used to input the numbers.| +| *Recovery key*| An encryption key stored on removable media that can be used for recovering data encrypted on a BitLocker volume.| + +### BitLocker authentication methods + +| Authentication method | Requires user interaction | Description | +| - | - | - | +| *TPM only*| No| TPM validates early boot components.| +| *TPM + PIN* | Yes| TPM validates early boot components. The user must enter the correct PIN before the start-up process can continue, and before the drive can be unlocked. The TPM enters lockout if the incorrect PIN is entered repeatedly, to protect the PIN from brute force attacks. The number of repeated attempts that will trigger a lockout is variable.| +| *TPM + Network key* | No | The TPM successfully validates early boot components, and a valid encrypted network key has been provided from the WDS server. This authentication method provides automatic unlock of operating system volumes at system reboot while still maintaining multifactor authentication. | +| *TPM + startup key* | Yes| The TPM successfully validates early boot components, and a USB flash drive containing the startup key has been inserted.| +| *Startup key only* | Yes| The user is prompted for the USB flash drive that has the recovery key and/or startup key, and then reboot the device.| + +#### Support for devices without TPM + +Determine whether computers that don't have a TPM 1.2 or higher versions in the environment will be supported. If it's decided to support devices with TPM 1.2 or higher versions, a user must use a USB startup key to boot the system. This startup key requires extra support processes similar to multifactor authentication. + +#### What areas of the organization need a baseline level of data protection? + +The TPM-only authentication method provides the most transparent user experience for organizations that need a baseline level of data protection to meet security policies. It has the lowest total cost of ownership. TPM-only might also be more appropriate for devices that are unattended or that must reboot unattended. + +However, TPM-only authentication method offers the lowest level of data protection. This authentication method protects against attacks that modify early boot components. But, the level of protection can be affected by potential weaknesses in hardware or in the early boot components. BitLocker's multifactor authentication methods significantly increase the overall level of data protection. + +> [!TIP] +> An advantage of TPM-only authentication is that a device can boot Windows without any user interaction. In case of lost or stolen device, there may be an advantage of this configuration: if the device is connected to the Internet, it can be remotely wiped with a device management solution like Microsoft Intune. + +#### What areas of the organization need a more secure level of data protection? + +If there are devices with highly sensitive data, then deploy BitLocker with multifactor authentication on those systems. Requiring the user to input a PIN significantly increases the level of protection for the system. BitLocker Network Unlock can also be used to allow these devices to automatically unlock when connected to a trusted wired network that can provide the Network Unlock key. + +#### What multifactor authentication method does the organization prefer? + +The protection differences provided by multifactor authentication methods can't be easily quantified. Consider each authentication method's impact on Helpdesk support, user education, user productivity, and any automated systems management processes. + +## Preboot information protection + +An effective implementation of information protection, like most security controls, considers usability and security. Users typically prefer a simple security experience. In fact, the more transparent a security solution becomes, the more likely users are to conform to it. + +It's crucial that organizations protect information on their devices regardless of the state of the device or the intent of users. This protection shouldn't be cumbersome to users. One undesirable and previously commonplace situation is when the user is prompted for input during preboot, and then again during Windows sign-in. Challenging users for input more than once should be avoided. + +Windows can enable a signle sign-on (SSO) experience from the preboot environment when robust information protection configurations are in place. The TPM in isolation is able to securely protect the BitLocker encryption key while it is at rest, and it can securely unlock the operating system drive. When the key is in use and thus in memory, a combination of hardware and Windows capabilities can secure the key and prevent unauthorized access through cold-boot attacks. Although other countermeasures like PIN-based unlock are available, they aren't as user-friendly; depending on the devices' configuration they may not offer additional security when it comes to key protection. For more information, see [BitLocker Countermeasures](bitlocker-countermeasures.md). + +## Manage passwords and PINs + +When BitLocker is enabled on a system drive and the PC has a TPM, users can be required to type a PIN before BitLocker will unlock the drive. Such a PIN requirement can prevent an attacker who has physical access to a PC from even getting to the Windows sign-in, which makes it almost impossible for the attacker to access or modify user data and system files. + +Requiring a PIN at startup is a useful security feature because it acts as a second authentication factor. However, this configuration comes with some costs. One of the most significant costs is the need to change the PIN regularly. + +In addition, Modern Standby devices don't require a PIN for startup: They're designed to start infrequently and have other mitigations in place that further reduce the attack surface of the system. + +For more information about how startup security works and the countermeasures that Windows provides, see [Protect BitLocker from pre-boot attacks](bitlocker-countermeasures.md). + +## TPM hardware configurations + +In the deployment plan, identify what TPM-based hardware platforms will be supported. Document the hardware models from an OEM(s) used by the organization so that their configurations can be tested and supported. TPM hardware requires special consideration during all aspects of planning and deployment. + +### TPM 1.2 states and initialization + +For TPM 1.2, there are multiple possible states. Windows automatically initializes the TPM, which brings it to an enabled, activated, and owned state. This state is the state that BitLocker requires before it can use the TPM. + +### Endorsement keys + +For a TPM to be usable by BitLocker, it must contain an endorsement key, which is an RSA key pair. The private half of the key pair is held inside the TPM and is never revealed or accessible outside the TPM. If the TPM doesn't have an endorsement key, BitLocker will force the TPM to generate one automatically as part of BitLocker setup. + +An endorsement key can be created at various points in the TPM's lifecycle, but needs to be created only once for the lifetime of the TPM. If an endorsement key doesn't exist for the TPM, it must be created before you can take TPM ownership. + +For more information about the TPM and the TCG, see the Trusted Computing Group: Trusted Platform Module (TPM) Specifications (). + +## Non-TPM hardware configurations + +Devices without a TPM can still be protected by drive encryption using a startup key. + +Use the following questions to identify issues that might affect the deployment in a non-TPM configuration: + +- Is there a budget for USB flash drives for each of these computers? +- Do existing non-TPM devices support USB devices at boot time? + +Test the individual hardware platforms with the BitLocker system check option while enabling BitLocker. The system check makes sure that BitLocker can read the recovery information from a USB device and encryption keys correctly before it encrypts the volume. + +## Disk configuration considerations + +To function correctly, BitLocker requires a specific disk configuration. BitLocker requires two partitions that meet the following requirements: + +- The operating system partition contains the operating system and its support files; it must be formatted with the NTFS file system +- The system partition (or boot partition) includes the files needed to load Windows after the BIOS or UEFI firmware has prepared the system hardware. BitLocker isn't enabled on this partition. For BitLocker to work, the system partition must not be encrypted, and must be on a different partition than the operating system. On UEFI platforms, the system partition must be formatted with the FAT 32-file system. On BIOS platforms, the system partition must be formatted with the NTFS file system. It should be at least 350 MB in size. + +Windows setup automatically configures the disk drives of computers to support BitLocker encryption. + +Windows Recovery Environment (Windows RE) is an extensible recovery platform that is based on Windows Pre-installation Environment (Windows PE). When the computer fails to start, Windows automatically transitions into this environment, and the Startup Repair tool in Windows RE automates the diagnosis and repair of an unbootable Windows installation. Windows RE also contains the drivers and tools that are needed to unlock a volume protected by BitLocker by providing a recovery key or recovery password. To use Windows RE with BitLocker, the Windows RE boot image must be on a volume that isn't protected by BitLocker. + +Windows RE can also be used from boot media other than the local hard disk. If Windows RE isn't installed on the local hard disk of BitLocker-enabled computers, then different methods can be used to boot Windows RE. For example, Windows Deployment Services (WDS) or USB flash drive can be used for recovery. + +## BitLocker provisioning + +BitLocker can be provisioned before the operating system is installed. Preprovisioning requires a TPM. + +To check the BitLocker status of a particular volume, administrators can look at the drive status in the BitLocker Control Panel applet or Windows Explorer. The **Waiting For Activation** status means that the drive was preprovisioned for BitLocker, and there's only a clear protector used to encrypt the volume. In this case, the volume isn't protected, and needs to have a secure key added to the volume before the drive is considered fully protected. Administrators can use the Control Panel options, PowerShell cmdlets, the `manage-bde.exe` tool, or WMI APIs to add an appropriate key protector. The volume status then will be updated. + +When using the Control Panel options, administrators can choose to **Turn on BitLocker** and follow the steps in the wizard to add a protector, such as a PIN for an operating system volume (or a password if no TPM exists), or a password or smart card protector to a data volume. Then the drive security window is presented before changing the volume status. + +Administrators can enable BitLocker before to operating system deployment from the Windows Pre-installation Environment (WinPE). This step is done with a randomly generated clear key protector applied to the formatted volume. It encrypts the volume before running the Windows setup process. If the encryption uses the **Used Disk Space Only** option, then this step takes only a few seconds, and can be incorporated into existing deployment processes. + +## *Used Disk Space Only* encryption + +The BitLocker Setup wizard provides administrators the ability to choose the *Used Disk Space Only* or *Full* encryption method when enabling BitLocker for a volume. Administrators can use BitLocker policy settings to enforce either Used Disk Space Only or Full disk encryption. + +Launching the BitLocker Setup wizard prompts for the authentication method to be used (password and smart card are available for data volumes). Once the method is chosen and the recovery key is saved, the wizard asks to choose the drive encryption type. Select **Used Disk Space Only** or **Full** drive encryption. + +With Used Disk Space Only, just the portion of the drive that contains data will be encrypted. Unused space will remain unencrypted. This behavior causes the encryption process to be much faster, especially for new PCs and data drives. When BitLocker is enabled with this method, as data is added to the drive, the portion of the drive used is encrypted. So, there's never unencrypted data stored on the drive. + +With Full drive encryption, the entire drive is encrypted, whether data is stored on it or not. This option is useful for drives that have been repurposed, and may contain data remnants from their previous use. + +> [!CAUTION] +> Exercise caution when encrypting only used space on an existing volume on which confidential data may have already been stored in an unencrypted state. When using used space encryption, sectors where previously unencrypted data are stored can be recovered through disk-recovery tools until they're overwritten by new encrypted data. In contrast, encrypting only used space on a brand-new volume can significantly decrease deployment time without the security risk because all new data will be encrypted as it's written to the disk. + +## Encrypted hard drive support + +Encrypted hard drives provide onboard cryptographic capabilities to encrypt data on drives. This feature improves both drive and system performance by offloading cryptographic calculations from the device's processor to the drive itself. Data is rapidly encrypted by the drive by using dedicated, purpose-built hardware. If planning to use whole-drive encryption with Windows, Microsoft recommends researching hard drive manufacturers and models to determine whether any of their encrypted hard drives meet the security and budget requirements. + +For more information about encrypted hard drives, see [Encrypted hard drive](../encrypted-hard-drive.md). + +## Microsoft Entra ID and Active Directory Domain Services considerations + +BitLocker integrates with Microsoft Entra ID and Active Directory Domain Services (AD DS) to provide centralized key management. By default, no recovery information is backed up to Microsoft Entra ID or AD DS. Administrators can configure [policy setting](../policy-settings.md?tabs=os#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered) for each drive type to enable backup of BitLocker recovery information. + +The following recovery data is saved for each computer object: + +- *Recovery password*: a 48-digit recovery password used to recover a BitLocker-protected volume. Users must enter this password to unlock a volume when BitLocker enters recovery mode +- *Key package data*: with the key package and the recovery password, portions of a BitLocker-protected volume can be decrypted if the disk is severely damaged. Each key package works only with the volume it was created on, which is identified by the corresponding volume ID + +## FIPS support for recovery password protector + +Devices configured to operate in FIPS mode can create FIPS-compliant recovery password protectors, which use the FIPS-140 NIST SP800-132 algorithm. + +> [!NOTE] +> The United States Federal Information Processing Standard (FIPS) defines security and interoperability requirements for computer systems that are used by the U.S. Federal Government. The FIPS-140 standard defines approved cryptographic algorithms. The FIPS-140 standard also sets forth requirements for key generation and for key management. The National Institute of Standards and Technology (NIST) uses the Cryptographic Module Validation Program (CMVP) to determine whether a particular implementation of a cryptographic algorithm is compliant with the FIPS-140 standard. An implementation of a cryptographic algorithm is considered FIPS-140-compliant only if it has been submitted for and has passed NIST validation. An algorithm that has not been submitted cannot be considered FIPS-compliant even if the implementation produces identical data as a validated implementation of the same algorithm. + +- FIPS-compliant recovery password protectors can be exported and stored in AD DS +- The BitLocker policy settings for recovery passwords work the same for all Windows versions that support BitLocker, whether in FIPS mode or not + +## Network Unlock + +Some organizations have location specific data security requirements. Location specific data security requirements are most common in environments where high-value data is stored on PCs. The network environment may provide crucial data protection and enforce mandatory authentication. Therefore, policy states that those PCs shouldn't leave the building or be disconnected from the corporate network. Safeguards like physical security locks and geofencing may help enforce this policy as reactive controls. Beyond these safeguards, a proactive security control that grants data access only when the PC is connected to the corporate network is necessary. + +Network Unlock enables BitLocker-protected PCs to start automatically when connected to a wired corporate network on which Windows Deployment Services runs. Anytime the PC isn't connected to the corporate network, a user must type a PIN to unlock the drive (if PIN-based unlock is enabled). +Network Unlock requires the following infrastructure: + +- Client PCs that have Unified Extensible Firmware Interface (UEFI) firmware version 2.3.1 or later, which supports Dynamic Host Configuration Protocol (DHCP) + +- A server running at least Windows Server 2012 with the Windows deployment services (WDS) role + +- A server with the DHCP server role installed + +For more information about how to configure Network unlock feature, see [BitLocker: How to enable Network Unlock](network-unlock.md). + +## BitLocker administration and monitoring + +Enterprises can use Microsoft Entra ID, Microsoft Intune and Configuration Manager for BitLocker administration and monitoring. For more information, see [Monitor device encryption with Intune](/mem/intune/protect/encryption-monitor). diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md index fcf0720f3a..14145a8878 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md @@ -590,3 +590,8 @@ The following limitations exist for Repair-bde: - it assumes that if the drive has any encryption, then the drive is fully encrypted For a complete list of the `repair-bde.exe` options, see the [Repair-bde reference](/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/ff829851(v=ws.11)). + +> \ No newline at end of file diff --git a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml index d8fdfd3230..5efb890a07 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/toc.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/toc.yml @@ -3,8 +3,10 @@ items: href: index.md - name: BitLocker countermeasures href: countermeasures.md -- name: Plan for a BitLocker deployment - href: plan.md +- name: BitLocker planning guide + href: planning-guide.md +- name: Device Encryption + href: device-encryption.md - name: How-to guides items: - name: Install BitLocker on Windows Server From 0e370a4c05744acfbb77b1abd05d8fba6e840f9b Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Fri, 6 Oct 2023 10:53:13 -0400 Subject: [PATCH 095/505] updates --- .openpublishing.redirection.windows-security.json | 2 +- .../operating-system-security/data-protection/bitlocker/faq.yml | 2 +- .../data-protection/bitlocker/index.md | 2 +- .../data-protection/bitlocker/planning-guide.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.openpublishing.redirection.windows-security.json b/.openpublishing.redirection.windows-security.json index f51079ffd1..4a77c8823a 100644 --- a/.openpublishing.redirection.windows-security.json +++ b/.openpublishing.redirection.windows-security.json @@ -7477,7 +7477,7 @@ }, { "source_path": "windows/security/operating-system-security/data-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md", - "redirect_url": "/windows/security/operating-system-security/data-protection/bitlocker#device-encryption", + "redirect_url": "/windows/security/operating-system-security/data-protection/device-encryption", "redirect_document_id": false } ] diff --git a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml index 6590f2c779..6277bb8849 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/faq.yml +++ b/windows/security/operating-system-security/data-protection/bitlocker/faq.yml @@ -118,7 +118,7 @@ sections: - question: What is *Used Disk Space Only* encryption? answer: | - BitLocker lets users choose to encrypt just their data. Although it's not the most secure way to encrypt a drive, this option can reduce encryption time by more than 99 percent, depending on how much data that needs to be encrypted. For more information, see [Used Disk Space Only encryption](plan.md#used-disk-space-only-encryption). + BitLocker lets users choose to encrypt just their data. Although it's not the most secure way to encrypt a drive, this option can reduce encryption time by more than 99 percent, depending on how much data that needs to be encrypted. For more information, see [Used Disk Space Only encryption](planning-guide.md#used-disk-space-only-encryption). - question: What system changes would cause the integrity check on the OS drive to fail? answer: | diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index ac86412d60..6be0e27b06 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -57,7 +57,7 @@ BitLocker has the following requirements: *Device Encryption* is a security feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device Encryption requires a device to meet either [Modern Standby](/windows-hardware/design/device-experiences/modern-standby) or HSTI security requirements, and have no externally accessible ports that allow DMA access. -To learn more about Device Encryption, see the [BitLocker Planning Guide](planning-guide.md#device-encryption). +To learn more about Device Encryption, see the [BitLocker Planning Guide](device-encryption.md). [!INCLUDE [bitlocker](../../../../../includes/licensing/bitlocker-enablement.md)] diff --git a/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md index f2f399cb14..9885ec63a5 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md @@ -160,7 +160,7 @@ For more information about encrypted hard drives, see [Encrypted hard drive](../ ## Microsoft Entra ID and Active Directory Domain Services considerations -BitLocker integrates with Microsoft Entra ID and Active Directory Domain Services (AD DS) to provide centralized key management. By default, no recovery information is backed up to Microsoft Entra ID or AD DS. Administrators can configure [policy setting](../policy-settings.md?tabs=os#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered) for each drive type to enable backup of BitLocker recovery information. +BitLocker integrates with Microsoft Entra ID and Active Directory Domain Services (AD DS) to provide centralized key management. By default, no recovery information is backed up to Microsoft Entra ID or AD DS. Administrators can configure [policy setting](policy-settings.md?tabs=os#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered) for each drive type to enable backup of BitLocker recovery information. The following recovery data is saved for each computer object: From 2add9c44940563d4f5d87cdbf29e8a1544b05d6e Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 9 Oct 2023 09:28:22 -0400 Subject: [PATCH 096/505] updates --- .../identity-protection/passkeys/index.md | 2 +- .../bitlocker/countermeasures.md | 2 +- .../bitlocker/device-encryption.md | 2 +- .../data-protection/bitlocker/index.md | 2 +- .../bitlocker/network-unlock.md | 2 +- .../bitlocker/planning-guide.md | 46 +++++++++---------- .../bitlocker/recovery-guide.md | 4 +- .../operating-system-security/index.md | 2 +- 8 files changed, 30 insertions(+), 32 deletions(-) diff --git a/windows/security/identity-protection/passkeys/index.md b/windows/security/identity-protection/passkeys/index.md index 40d33d3ed3..06247b9a94 100644 --- a/windows/security/identity-protection/passkeys/index.md +++ b/windows/security/identity-protection/passkeys/index.md @@ -4,7 +4,7 @@ description: Learn about passkeys and how to use them on Windows devices. ms.collection: - highpri - tier1 -ms.topic: article +ms.topic: overview ms.date: 09/27/2023 appliesto: - ✅ Windows 11 diff --git a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index e259d9a738..78c2a8e0a0 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -1,7 +1,7 @@ --- title: BitLocker countermeasures description: Learn about technologies and features to protect against attacks on the BitLocker encryption key. -ms.topic: conceptual +ms.topic: concept-article ms.date: 10/05/2023 --- diff --git a/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md index c71d396dfa..19a36e0ace 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md @@ -1,7 +1,7 @@ --- title: Device Encryption description: Learn how Device Encryption works for devices that support it. -ms.topic: conceptual +ms.topic: overview ms.date: 10/06/2023 --- diff --git a/windows/security/operating-system-security/data-protection/bitlocker/index.md b/windows/security/operating-system-security/data-protection/bitlocker/index.md index 6be0e27b06..1df63e050c 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/index.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/index.md @@ -57,7 +57,7 @@ BitLocker has the following requirements: *Device Encryption* is a security feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device Encryption requires a device to meet either [Modern Standby](/windows-hardware/design/device-experiences/modern-standby) or HSTI security requirements, and have no externally accessible ports that allow DMA access. -To learn more about Device Encryption, see the [BitLocker Planning Guide](device-encryption.md). +To learn more about Device Encryption, see the [Device Encryption](device-encryption.md). [!INCLUDE [bitlocker](../../../../../includes/licensing/bitlocker-enablement.md)] diff --git a/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md b/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md index c59d936280..fd86252c71 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/network-unlock.md @@ -1,7 +1,7 @@ --- title: BitLocker - How to enable Network Unlock description: This article for the IT professional describes how BitLocker Network Unlock works and how to configure it. -ms.topic: conceptual +ms.topic: how-to ms.date: 11/08/2022 --- diff --git a/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md index 9885ec63a5..60b3a32488 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/planning-guide.md @@ -1,21 +1,21 @@ --- title: BitLocker planning guide description: Learn how to plan for a BitLocker deployment in your organization. -ms.topic: conceptual +ms.topic: concept-article ms.date: 10/06/2023 --- # BitLocker planning guide -A BitLocker deployment strategy inculudes definining the appropriate policies and configuration requirements based on your organization's security requirements. This article helps collecting the information to assist with a BitLocker deployment. +A BitLocker deployment strategy includes definining the appropriate policies and configuration requirements based on your organization's security requirements. This article helps collecting the information to assist with a BitLocker deployment. ## Audit the environment -To plan a BitLocker deployment, understand the current environment. Perform an informal audit to define the current policies, procedures, and hardware environment. Review the existing disk encryption software corporate security policies. If the organization isn't using disk encryption software, then these policies may not exist. If disk encryption software is being used, then the organization's policies might need to be changed to use the BitLocker features. +To plan a BitLocker deployment, understand the current environment. Perform an informal audit to define the current policies, procedures, and hardware environment. Review the existing disk encryption software and the organization's security policies. If the organization isn't using disk encryption software, then these policies may not exist. If disk encryption software is in use, then the policies may need to change to use certain BitLocker features. To help document the organization's current disk encryption security policies, answer the following questions: -- Are there policies to determine which devices will use BitLocker and which computers won't? +- Are there policies to determine which devices must use BitLocker and which computers don't? - What policies exist to control recovery password and recovery key storage? - What are the policies for validating the identity of users who need to perform BitLocker recovery? - What policies exist to control who in the organization has access to recovery data? @@ -29,30 +29,36 @@ BitLocker can lock the normal startup process until the user supplies a personal On devices that don't have a TPM, BitLocker can still be used to encrypt the Windows operating system volume. However, this implementation requires the user to insert a USB startup key to start the computer or resume from hibernation. It doesn't provide the pre-startup system integrity verification offered by BitLocker working with a TPM. +An effective implementation of information protection, like most security controls, considers usability and security. Users typically prefer a simple security experience. In fact, the more transparent a security solution becomes, the more likely users are to conform to it. + +It's crucial that organizations protect information on their devices regardless of the state of the device or the intent of users. This protection shouldn't be cumbersome to users. One undesirable and previously commonplace situation is when the user is prompted for input during preboot, and then again during Windows sign-in. Challenging users for input more than once should be avoided. + +The TPM is able to securely protect the BitLocker encryption key while it is at rest, and it can securely unlock the operating system drive. When the key is in use, and thus in memory, a combination of hardware and Windows capabilities can secure the key and prevent unauthorized access through cold-boot attacks. Although other countermeasures like PIN-based unlock are available, they aren't as user-friendly; depending on the devices' configuration they may not offer additional security when it comes to key protection. For more information, see [BitLocker Countermeasures](bitlocker-countermeasures.md). + ### BitLocker key protectors | Key protector | Description | | - | - | -| *TPM* | A hardware device used to help establish a secure root-of-trust. BitLocker only supports TPM 1.2 or higher versions.| -| *PIN* | A user-entered numeric key protector that can only be used in addition to the TPM.| -| *Enhanced PIN* | A user-entered alphanumeric key protector that can only be used in addition to the TPM.| -| *Startup key* | An encryption key that can be stored on most removable media. This key protector can be used alone on non-TPM computers, or with a TPM for added security.| -| *Recovery password* | A 48-digit number used to unlock a volume when it is in recovery mode. Numbers can often be typed on a regular keyboard. If the numbers on the normal keyboard aren't responding, the function keys (F1-F10) can be used to input the numbers.| -| *Recovery key*| An encryption key stored on removable media that can be used for recovering data encrypted on a BitLocker volume.| +| TPM | A hardware device used to help establish a secure root-of-trust. BitLocker only supports TPM 1.2 or higher versions.| +| PIN | A user-entered numeric key protector that can only be used in addition to the TPM.| +| Enhanced PIN | A user-entered alphanumeric key protector that can only be used in addition to the TPM.| +| Startup key | An encryption key that can be stored on most removable media. This key protector can be used alone on non-TPM computers, or with a TPM for added security.| +| Recovery password | A 48-digit number used to unlock a volume when it is in recovery mode. Numbers can often be typed on a regular keyboard. If the numbers on the normal keyboard aren't responding, the function keys (F1-F10) can be used to input the numbers.| +| Recovery key| An encryption key stored on removable media that can be used for recovering data encrypted on a BitLocker volume.| ### BitLocker authentication methods | Authentication method | Requires user interaction | Description | | - | - | - | -| *TPM only*| No| TPM validates early boot components.| -| *TPM + PIN* | Yes| TPM validates early boot components. The user must enter the correct PIN before the start-up process can continue, and before the drive can be unlocked. The TPM enters lockout if the incorrect PIN is entered repeatedly, to protect the PIN from brute force attacks. The number of repeated attempts that will trigger a lockout is variable.| -| *TPM + Network key* | No | The TPM successfully validates early boot components, and a valid encrypted network key has been provided from the WDS server. This authentication method provides automatic unlock of operating system volumes at system reboot while still maintaining multifactor authentication. | -| *TPM + startup key* | Yes| The TPM successfully validates early boot components, and a USB flash drive containing the startup key has been inserted.| -| *Startup key only* | Yes| The user is prompted for the USB flash drive that has the recovery key and/or startup key, and then reboot the device.| +| TPM only| No| TPM validates early boot components.| +| TPM + PIN | Yes| TPM validates early boot components. The user must enter the correct PIN before the start-up process can continue, and before the drive can be unlocked. The TPM enters lockout if the incorrect PIN is entered repeatedly, to protect the PIN from brute force attacks. The number of repeated attempts that will trigger a lockout is variable.| +| TPM + Network key | No | The TPM successfully validates early boot components, and a valid encrypted network key has been provided from the WDS server. This authentication method provides automatic unlock of operating system volumes at system reboot while still maintaining multifactor authentication. | +| TPM + startup key | Yes| The TPM successfully validates early boot components, and a USB flash drive containing the startup key has been inserted.| +| Startup key only | Yes| The user is prompted for the USB flash drive that has the recovery key and/or startup key, and then reboot the device.| #### Support for devices without TPM -Determine whether computers that don't have a TPM 1.2 or higher versions in the environment will be supported. If it's decided to support devices with TPM 1.2 or higher versions, a user must use a USB startup key to boot the system. This startup key requires extra support processes similar to multifactor authentication. +Determine whether computers that don't have a TPM 1.2 or higher versions in the environment will be supported. If it's decided to support devices without TPM, a user must use a USB startup key to boot the system. The startup key requires extra support processes similar to multifactor authentication. #### What areas of the organization need a baseline level of data protection? @@ -71,14 +77,6 @@ If there are devices with highly sensitive data, then deploy BitLocker with mult The protection differences provided by multifactor authentication methods can't be easily quantified. Consider each authentication method's impact on Helpdesk support, user education, user productivity, and any automated systems management processes. -## Preboot information protection - -An effective implementation of information protection, like most security controls, considers usability and security. Users typically prefer a simple security experience. In fact, the more transparent a security solution becomes, the more likely users are to conform to it. - -It's crucial that organizations protect information on their devices regardless of the state of the device or the intent of users. This protection shouldn't be cumbersome to users. One undesirable and previously commonplace situation is when the user is prompted for input during preboot, and then again during Windows sign-in. Challenging users for input more than once should be avoided. - -Windows can enable a signle sign-on (SSO) experience from the preboot environment when robust information protection configurations are in place. The TPM in isolation is able to securely protect the BitLocker encryption key while it is at rest, and it can securely unlock the operating system drive. When the key is in use and thus in memory, a combination of hardware and Windows capabilities can secure the key and prevent unauthorized access through cold-boot attacks. Although other countermeasures like PIN-based unlock are available, they aren't as user-friendly; depending on the devices' configuration they may not offer additional security when it comes to key protection. For more information, see [BitLocker Countermeasures](bitlocker-countermeasures.md). - ## Manage passwords and PINs When BitLocker is enabled on a system drive and the PC has a TPM, users can be required to type a PIN before BitLocker will unlock the drive. Such a PIN requirement can prevent an attacker who has physical access to a PC from even getting to the Windows sign-in, which makes it almost impossible for the attacker to access or modify user data and system files. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md index 14145a8878..6f90c46bb9 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/recovery-guide.md @@ -106,7 +106,7 @@ If software maintenance requires the computer to be restarted and two-factor aut Recovery has been described within the context of unplanned or undesired behavior. However, recovery can also be caused as an intended production scenario, for example in order to manage access control. When desktop or laptop computers are redeployed to other departments or employees in the enterprise, BitLocker can be forced into recovery before the computer is given to a new user. -## Testing recovery +## Test the recovery process Before a thorough BitLocker recovery process is created, it's recommended to test how the recovery process works for both end users (people who call the helpdesk for the recovery password) and administrators (people who help the end user get the recovery password). The `-forcerecovery` command of `manage-bde.exe` is an easy way to step through the recovery process before users encounter a recovery situation. @@ -137,7 +137,7 @@ Before a thorough BitLocker recovery process is created, it's recommended to tes > [!NOTE] > Recovery triggered by `-forcerecovery` persists for multiple restarts until a TPM protector is added or protection is suspended by the user. When using Modern Standby devices (such as Surface devices), the `-forcerecovery` option is not recommended because BitLocker will have to be unlocked and disabled manually from the WinRE environment before the OS can boot up again. For more information, see [BitLocker Troubleshooting: Continuous reboot loop with BitLocker recovery on a slate device](https://social.technet.microsoft.com/wiki/contents/articles/18671.bitlocker-troubleshooting-continuous-reboot-loop-with-bitlocker-recovery-on-a-slate-device.aspx). -## Planning the recovery process +## Plan the recovery process When planning the BitLocker recovery process, first consult the organization's current best practices for recovering sensitive information. For example: How does the enterprise handle lost Windows passwords? How does the organization perform smart card PIN resets? These best practices and related resources (people and tools) can be used to help formulate a BitLocker recovery model. diff --git a/windows/security/operating-system-security/index.md b/windows/security/operating-system-security/index.md index 1c0cd9103b..4b093fe6f8 100644 --- a/windows/security/operating-system-security/index.md +++ b/windows/security/operating-system-security/index.md @@ -2,7 +2,7 @@ title: Windows operating system security description: Securing the operating system includes system security, encryption, network security, and threat protection. ms.date: 08/02/2023 -ms.topic: article +ms.topic: overview --- # Windows operating system security From 6e6ce0a2979b6e99270aa70d950cc198cd94a759 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 9 Oct 2023 08:30:28 -0700 Subject: [PATCH 097/505] stash --- windows/client-management/copilot-overview.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/windows/client-management/copilot-overview.md b/windows/client-management/copilot-overview.md index 3d37b8c2f9..6164173c16 100644 --- a/windows/client-management/copilot-overview.md +++ b/windows/client-management/copilot-overview.md @@ -11,9 +11,8 @@ appliesto: >**Looking for consumer information?** See [Welcome to Copilot in Windows](https://support.microsoft.com/windows/welcome-to-copilot-in-windows-675708af-8c16-4675-afeb-85a5a476ccb0). -Copilot in Windows provides centralized generative AI assistance to your users right from the Windows desktop. Copilot in Windows appears as a side bar on the Windows desktop, docked to the right. +Copilot in Windows provides centralized generative AI assistance to your users right from the Windows desktop. Copilot in Windows appears as a side bar on the Windows desktop, docked to the right. It's designed to be an assistant that can help your users get things done in Windows. Copilot in Windows is a bit different from [Bing Chat in the Microsoft Edge sidebar](https://www.microsoft.com/edge/features/bing-chat), which provides assistance in the browser, since it can also perform actions such as changing Windows settings or performing common tasks in Windows. However, both user experiences, Copilot in Windows and Bing Chat in the Microsoft Edge sidebar, can share the same underlying chat provider platform. It's important for organizations to properly configure the chat provider platform that Copilot in Windows uses, since it can possibly be used to access sensitive information. -Copilot in Windows is a bit different from [Bing Chat in the Microsoft Edge sidebar](https://www.microsoft.com/edge/features/bing-chat), which provides assistance in the browser, since it can also perform actions such as changing Windows settings or performing common tasks in Windows. However, both user experiences can share the same underlying chat provider platform. ## Chat provider platforms for Copilot in Windows @@ -23,7 +22,9 @@ Copilot in Windows uses one of the following chat provider platforms, dependant - [Bing chat enterprise](/bing-chat-enterprise/overview), which is intended for business use scenarios - Bing chat enterprise is available, at no additional cost, for customers who are licensed for Microsoft 365 E3 or E5, A3 or A5 for faculty, Business Standard, or Business Premium. - +## How to enable Copilot in Windows + +Copilot in Windows won't be enabled by default for manged Windows 11, version 22H2 devices because it's behind a [temporary enterprise control](/windows/whats-new/temporary-enterprise-feature-control). One a managed device installs the 2023 annual update, From ee822d55b84195f17c79cdf649129d132f695c25 Mon Sep 17 00:00:00 2001 From: Paolo Matarazzo <74918781+paolomatarazzo@users.noreply.github.com> Date: Mon, 9 Oct 2023 13:18:43 -0400 Subject: [PATCH 098/505] updates --- .../bitlocker/countermeasures.md | 6 +- .../bitlocker/device-encryption.md | 76 +++++++----------- .../images/settings-device-encryption.png | Bin 0 -> 320053 bytes ...-card-certificate-usage-rule-compliance.md | 2 +- .../data-protection/bitlocker/index.md | 8 +- .../bitlocker/network-unlock.md | 4 +- .../bitlocker/planning-guide.md | 37 ++++----- 7 files changed, 57 insertions(+), 76 deletions(-) create mode 100644 windows/security/operating-system-security/data-protection/bitlocker/images/settings-device-encryption.png diff --git a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md index 78c2a8e0a0..dc5d51a31d 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/countermeasures.md @@ -11,15 +11,15 @@ Windows uses hardware solutions and security features that protect BitLocker enc ## Protection before startup -Before Windows starts, security features implemented as part of the device hardware and firmware must be relied on, including TPM and secure boot. These features ensure that the device hasn't been tampered with while the system was offline: +Before Windows starts, security features implemented as part of the device hardware and firmware must be relied on, including TPM and secure boot: -- a *TPM* is a chip designed to provide basic security-related functions, primarily involving encryption keys. BitLocker binds encryption keys with the TPM to ensure that the device hasn't been tampered with while the system was offline. For more information about TPM, see [Trusted Platform Module](/windows/device-security/tpm/trusted-platform-module-overview) +- a *TPM* is a chip designed to provide basic security-related functions, primarily involving encryption keys. BitLocker binds encryption keys with the TPM to ensure that the device hasn't been tampered with while the system is offline. For more information about TPM, see [Trusted Platform Module](/windows/device-security/tpm/trusted-platform-module-overview) - *Unified Extensible Firmware Interface (UEFI)* is a programmable boot environment that initializes devices and starts the operating system's bootloader. The UEFI specification defines a firmware execution authentication process called [Secure Boot](../../system-security/secure-the-windows-10-boot-process.md) - *Secure Boot* blocks untrusted firmware and bootloaders (signed or unsigned) from being able to start on the system. By default, BitLocker provides integrity protection for Secure Boot by utilizing the TPM PCR[7] measurement. An unauthorized EFI firmware, EFI boot application, or bootloader can't run and acquire the BitLocker key ### BitLocker and reset attacks -To defend against malicious reset attacks, BitLocker uses the TCG Reset Attack Mitigation, also known as MOR bit (Memory Overwrite Request), before extracting keys into memory. +To defend against malicious reset attacks, BitLocker uses the *TCG Reset Attack Mitigation*, also known as *MOR bit* (Memory Overwrite Request), before extracting keys into memory. ## Security policies diff --git a/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md b/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md index 19a36e0ace..56830979b7 100644 --- a/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md +++ b/windows/security/operating-system-security/data-protection/bitlocker/device-encryption.md @@ -1,60 +1,46 @@ --- -title: Device Encryption -description: Learn how Device Encryption works for devices that support it. +title: Device encryption +description: Learn how device encryption works for devices that support it. ms.topic: overview -ms.date: 10/06/2023 +ms.date: 10/09/2023 --- -# Device Encryption +# Device encryption -Windows automatically enables BitLocker Device Encryption on devices that support Modern Standby. +*Device encryption* is a Windows feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device encryption is available on all Windows versions, including Home edition, but requires a device to meet either [Modern Standby](/windows-hardware/design/device-experiences/modern-standby) or HSTI security requirements, and have no externally accessible ports that allow DMA access. -Unlike a standard BitLocker implementation, BitLocker Device Encryption is enabled automatically so that the device is always protected. The following list outlines how BitLocker Device Encryption is enabled automatically: +> [!IMPORTANT] +> Device encryption encrypts only the OS drive and fixed drives, it doesn't encrypt external/USB drives -- When a clean installation of Windows 11 or Windows 10 is completed and the out-of-box experience is finished, the computer is prepared for first use. As part of this preparation, BitLocker Device Encryption is initialized on the operating system drive and fixed data drives on the computer with a clear key that is the equivalent of standard BitLocker suspended state. In this state, the drive is shown with a warning icon in Windows Explorer. The yellow warning icon is removed after the TPM protector is created and the recovery key is backed up, as explained in the following bullet points. +Unlike a standard BitLocker implementation, device encryption is enabled automatically so that the device is always protected. When a clean installation of Windows is completed and the out-of-box experience is finished, the device is prepared for first use. As part of this preparation, device encryption is initialized on the OS drive and fixed data drives on the computer with a clear key that is the equivalent of standard BitLocker suspended state. In this state, the drive is shown with a warning icon in Windows Explorer. The yellow warning icon is removed after the TPM protector is created and the recovery key is backed up. -- If the device isn't domain joined, a Microsoft account that has been granted administrative privileges on the device is required. When the administrator uses a Microsoft account to sign in, the clear key is removed, a recovery key is uploaded to the online Microsoft account, and a TPM protector is created. Should a device require the recovery key, the user will be guided to use an alternate device and navigate to a recovery key access URL to retrieve the recovery key by using their Microsoft account credentials. +- If the device is Microsoft Entra joined or Active Directory domain joined, the clear key is removed once the the recovery key is successfully backed up to Microsoft Entra ID or Active Directory Domain Services (AD DS). The following policy settings must be enabled for the recovery key to be backed up: [Choose how BitLocker-protected operating system drives can be recovered](policy-settings.md?tabs=os#choose-how-bitlocker-protected-operating-system-drives-can-be-recovered) + - For Microsoft Entra joined devices: the recovery password is created automatically when the user authenticates to Microsoft Entra ID, then the recovery key is backed up to Microsoft Entra ID, the TPM protector is created, and the clear key is removed + - For AD DS joined devices: the recovery password is created automatically when the computer joins the domain. The recovery key is then backed up to AD DS, the TPM protector is created, and the clear key is removed +- If the device isn't Microsoft Entra joined or Active Directory domain joined, a Microsoft account with administrative privileges on the device is required. When the administrator uses a Microsoft account to sign in, the clear key is removed, a recovery key is uploaded to the online Microsoft account, and a TPM protector is created. Should a device require the recovery key, the user is guided to use an alternate device and navigate to a recovery key access URL to retrieve the recovery key by using their Microsoft account credentials +- If a device uses only local accounts, then it remains unprotected even though the data is encrypted -- If the user uses a domain account to sign in, the clear key isn't removed until the user joins the device to a domain, and the recovery key is successfully backed up to Active Directory Domain Services (AD DS). The following Group Policy settings must be enabled for the recovery key to be backed up to AD DS: +If a device doesn't initially qualify for device encryption, but then a change is made that causes the device to qualify (for example, turn *Secure Boot* on), device encryption enables BitLocker automatically as soon as it detects it (unless device encryption is disabled). - *Computer Configuration* > *Administrative Templates* > *Windows Components* > *BitLocker Drive Encryption* > *Operating System Drives* > **Do not enable BitLocker until recovery information is stored in AD DS for operating system drives** - - With this configuration, the recovery password is created automatically when the computer joins the domain, and then the recovery key is backed up to AD DS, the TPM protector is created, and the clear key is removed. +You can check whether a device meets requirements for device encryption in the System Information app (msinfo32.exe). If the device meets the requirements, System Information shows a device encryption Support line that reads: **Meets prerequisites**. -- Similar to signing in with a domain account, the clear key is removed when the user signs in to an Azure AD account on the device. As described in the bullet point above, the recovery password is created automatically when the user authenticates to Azure AD. Then, the recovery key is backed up to Azure AD, the TPM protector is created, and the clear key is removed. +## Difference between BitLocker and device encryption -Microsoft recommends automatically enabling BitLocker Device Encryption on any systems that support it. However, the automatic BitLocker Device Encryption process can be prevented by changing the following registry setting: +- Device encryption turns BitLocker on automatically on device encryption-qualifying devices, with the recovery key automatically backed up to Microsoft Entra ID, AD DS, or the user's Microsoft account +- Device encryption adds a device encryption setting in the Settings app, which can be used to turn device encryption on or off + - The Settings UI will not show device encryption enabled until encryption is complete + > [!NOTE] + > If device encryption is turned off, it will no longer automatically enable itself in the future. The user must enable it manually in Settings -- **Subkey**: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker` -- **Type**: `REG_DWORD` -- **Value**: `PreventDeviceEncryption` equal to `1` (True) +:::image type="content" source="images/settings-device-encryption.png" alt-text="Screenshot of the Settings app showing the device encryption panel." border="False""::: + +## Disable device encryption + +It's recommended to keep device encryption on for any systems that support it. However, you can prevent the automatic device encryption process by changing the following registry setting: + +| Path|Name|Type|Value| +|-|-|-|-| +| `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BitLocker`| `PreventDeviceEncryption`|REG_DWORD|0x1| > [!NOTE] -> BitLocker Device Encryption uses the XTS-AES 128-bit encryption method. If a different encryption method and/or cipher strength is needed but the device is already encrypted, it must first be decrypted before the new encryption method and/or cipher strength can be applied. After the device has been decrypted, different BitLocker settings can be applied. - -*Device Encryption* is a Windows feature that provides a simple way for some devices to enable BitLocker encryption automatically. Device Encryption is available on all Windows versions, including Home edition, but requires a device to meet either [Modern Standby](/windows-hardware/design/device-experiences/modern-standby) or HSTI security requirements, and have no externally accessible ports that allow DMA access. - -Device Encryption encrypts the data on a device immediately, but doesn't enable protection until the key is safely backed up to the user's Microsoft account. The encrypted device is left in a *clear key* state, where the encryption key is stored in plain text on the volume to allow free access to the data. Even though the data is encrypted, the device is completely unprotected in this state. In this *clear key* state, `manage-bde.exe` will show data as encrypted, but **Protection Off**, and no protectors yet added. Device encription-capable devices are in this state if no Microsoft account user signs in as an administrator of the device. Connecting to a Microsoft account and the internet causes the recovery key to back up, protector to be added (using the device's TPM), and protection to be enabled. - -Difference between BitLocker and Device Encryption (DE): - -- Device Encryption turn BitLocker on automatically on Device Encryption-qualifying devices, with the recovery key automatically backed up to the user's Microsoft account -- Device Encryption adds a Device Encryption setting in the Settings app - -Device Encryption facts: - -- Device Encryption enables BitLocker automatically once a Microsoft Account is signed in to the device and the recovery key gets successfully backed up to the user's account - - On Windows Home edition, Device Encryption enables BitLocker with limited management capabilities (via the BitLocker Control Panel applet only) - - On other Windows versions where *full* BitLocker is present, Device Encryption's effect is to turn BitLocker on automatically instead of waiting for manual activation - -- If a device uses only local accounts, then it remains unprotected even though the data is encrypted -- Device Encryption has a UI in the Settings app to turn it on/off -- If Device Encryption is turned off, it will no longer automatically enable itself in the future. The user must enable it manually in Settings -- If a device doesn't initially qualify for Device Encryption, but then a change is made that causes the device to qualify (for example, turn Secure Boot on), Device Encryption will enable BitLocker automatically as soon as it detects it (if Device Encryption wasn't previously turned off) -- Device Encryption is enabled as soon as the device completes OOBE, but the work to encrypt all existing data waits for both AC power and idle time to start the actual encryption, therefore full protection may not be complete immediately. In most cases, encryption takes only minutes to complete - -- The Settings UI will not show Device Encryption enabled until encryption is complete -- manage-bde.exe is available and has all capabilities on all versions of Windows -- Device Encryption encrypts only fixed drives, will not encrypt external/USB drives - -You can check whether a device meets requirements for Device Encryption in the System Information app (msinfo32.exe). (see below for more) +> Device encryption uses the XTS-AES 128-bit encryption method. If a different encryption method and/or cipher strength is needed but the device is already encrypted, it must first be decrypted before the new encryption method and/or cipher strength can be applied. After the device is decrypted, you can apply different BitLocker settings. diff --git a/windows/security/operating-system-security/data-protection/bitlocker/images/settings-device-encryption.png b/windows/security/operating-system-security/data-protection/bitlocker/images/settings-device-encryption.png new file mode 100644 index 0000000000000000000000000000000000000000..52a594efb7d31879bd60bd6ed66af6711c999044 GIT binary patch literal 320053 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

  • l2;nv-dN}hxy+gB95lwo#UlftoQMrooA-^ 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�~cE9FpX3qIN=eh6enl0C5 z1E=xEU$JN{xb@_R0pdr}KfKDfWECD22sRwx<54A8Y(ffv2)Z3v8){rKc{H0sx0mdO zl7Ax4c{xvXTFl{_A0(vKSX|)BDGkI8#9Q_s!0#qP;7?pi{%(kQ1$${66MPl+yKqQ} zRMhg;TBq8_;wcYz^b22p!6a61c&o7YKm~a5co}8a-_X!&pHNO|DDLkepWMaF@mAri zWx9Skk4>DXUKg5=kjauHHxljW@4-X!@qpYK%fGtuCJBjd(-C0*$eRzwpaOsr5mO|E zFuh%E`MTvWzj6|*?w2dEN4*AnNO^=ny4%Z&FHxuz&0n|;71Qb?yI#%ot=;fmtkV!% zh7lk-Bm||s(Gj0@Om`|SGm(C?_h$mm;jHdUZ_{u_(@(p`v!XWHD<@F=jON93@bvl4&%R%qb0oS-yEr)=Dclf{lno&^(4!yNY^CoHkp)xoB9gPSuvW-xrE$mR=0no+?qRz_2^jazWK<)cYl#NkWwXBy1Q>Fh<8>|F6tH;YNGI)ZnGrKJ#oIjuv zqfmhdoWl$LqFja9lTP?zT1GmGj6(rWOSbyjKhkS1s%NXH*MDK4xWAll)$|EFi13~c z=}O(tcRkgLZFnXs-TdndqIycHlUg4g>w*rvY%$ot$&mY!&gY+7pX&{a)1g1cXZSh$ zEb)Lv!5#G$sD9GCYsfj9($Lmm}%kP+h^Mf zcCX5uQhtmqI{q!2jRba8*?X5hd&n;-bep%ND5tzo_+$#$Uuw-P(~q;R^!LLwNJk zZ7)vqDQTO5+(=8<{{*EuI{_?{T0ls_%X#%XF;TQUGAr^QtqW~5A@pO8V4} zh+0Oz^)1d_>^D9tQ2my%NbKf5@{}rm=5Bh`P@q^U3|2x(6v{neQDbPR#%hu1sctAG zVcOW9lKVZdun7Jbi&>C|1o)6Ct3@=|oF)&lD!pueS2F&Ugm0v(z|riqlQ!sbbLzhD64y5@lzsdd+ zEFQ62D&gDI#QY%!^$RYa3y&fuSZUvpfhpzEYyG{fp6eV|AqErwZl=f zwugw+eBfl@H4R6H9=C_EZWb>{PsBMo7gQPGjMnv`X`1(q3H3IqC~}PwcdvLtGogA8 zc&*obk(~>5RNIe^oyEOH?N=)j&Ml#6$+g#)NScZmz^lmBu5o=iKs#rLcc-(8fU(a( z`zFFIs$E8QzPJzn$sOdstI^(WV}{$PPF4V_8)mPMLI*Wl$=hcjJ`;vl{U=kh=#a2m$7k8PAXx@=^@&shE8B` zXm8{hc=jbKqXf~NNx(cta<_83sH6L7APJUdh>yykvXef&kz1o$-A_3bDu%g5DjA75 zS!efFSw6ZKth)UpN}uQBa>o+e>YzUP=GLJm8fjk`kW{^5yiSj!D3)&JgyRh7ED$zX zQM(9iMfdQi0d-0`u1!wGNjk7IKj~1yB|kYg7!Oca+x*>-Zn*9Z|_8D7>kq6(s8Nvu&2DCY`C;p&j%#j|u&mDV)M zU*vB0HYy8EQCiOZg*f|NJ$45b+ur?!8#i8DSu6t@^*@Ml!=v@t!ucnv%r{5#QwxM+ z`jMG0w|$~paCLk=BKqmL1mN#(xHziTLA0}*KxqsNeyW45ewi^^A|O@qIu0e304gcK~oJR0_p)vRFlQzQ!UwF$x?bdXdU)@c>!g zd75t4@=xV+kG)!D$h?*Fyx!j(7E0kVwqCBWsU_8v!6s#9NoM2o%H*=C8TNIiG^b1F zv*+3twK_Ddv%HD87!}kr^m#_f--MSI7Vco+Mb|hEzinGC%MAjZI=c`G0nRU%+T7Dq z^d2EmlmhZ@_VaX7O?2uy>TKEk`=4~`jH};}*D2gxAFITT8GOwx)2{AprNt)?X}=oJ zegCf#Fu{MxW!#Ry-8uDPrA^=a7-lhdDt`XxJjTPipqkcq;nE)?9+!|{zMAKNw+SFO`GzT<@3t+m3wvEBDv{N%)Mq`r z98-Z6CbFMSi{0qm+eDBpMt)yuLgMn^Nhud?PJ3(P#h*GBmgR%ft?+(g(g+zFxgMl8 zUUGHCw@i7lu0tDdbe3+c?x9Sl_TWL;Isu3zJ&#MVz|`Wdm1bjU#%R9#S?hUbL*VI> zo7E4BoZI1OCd0x;&cUL^+VH3dZ)|8*=-XJBpTT1v&o2cE(I@BowPVu_uGc@o)!r^A ztVXSC7n6Ls5v<$FGe5yjb4)K?5ETOT@UGQL@t9ft%n-AqS5$;kyrQx+Pkt}mO|(+NQl4nKfys=s=6N> z)Y|r52?XTUfe$}G&~0F?$m*Z;zidXs9#6w2*=fW_)pgoCB}{j}#;8fGrkH-zwE z919I)%&yis+i`159g%{Ta+UPBPioq6jwbSx;jA+Kk;XZWDY%fe%3x!Jk@}kREl~sH?EcRL~6%JR$9kJN$`)kg?Sa`x^~n z2*=_d&D1;r=q_1g1mm@u@&-=CyEm{AycUjx8oWrpd9Q4a`o!0g;qZa#J4+=q1e^lw zUJyuro9RvYjid!3vejdM;kqU-KJx&R`;@b~&p3oH+;jg+*GI_?xL*7XqyDltE4NVB zh7%ntrlFsi%SJ|56_dtXC&8LGbo^~()ZDA< z;~37JYBKJlbAHIHd2FHTa2k0Xg7NNf@o=!qGJkw>ve~}6n-zLz*H=aQyHOCHK>YYd zgy+GGaaCt&>>u`O!sFn;i8YGOZwQX}u!haj+Zw8H9DIA3^IpOo`qeG`B58hpXCW^E zg!A^=7gX7?K<|w&|42=En8gh%Xq5&P@O>G(9?)#5d3WUj4wkyd7_mm>BLJ}fvgRHK zQS%0X9m}=OKMLs(@uE|rXDoj~)dY{-vw0D6Mw;?S<)Tqc%ouVVgu0Zq)}5@U2FX2) zsCL}228#vcnFqiSDhh@mLzE4f;$->2$W#)6M?N0OW>ZDyO-3=1bv=j@{A1_tV@$pz z4+jXvBh#xhr6bAfRi3c6OH69wZ&9;F`M%p%B7IfXsM2h;Lu}T39=WKVy-D6ArCs09 zJmj~-!3q>m8C4_`6-#exYl@uK+oaXH!dWT`6>AQ2ojG2FoXCQanQxjeUfJ=4k^VyN z$LqygJG&`B;vQzH_9@b>GUHp~x5dvT5(f!C0XgI@Wh7m<;|;N4&*3C*sr~!qB2S5$ zo?}(E6(eXx#u8E=C-YJw&p=(Ik|n0jn(RmSJFLAPVyW@5YKw-}pW-pG!B*5}LTvET#QJhA#WsJN07ERq zave$D7OJeF&dufrseW&FI*1c0eTy(Aryya|R^lZCl)Z;u+`r>Uz-rwU*v1CsJJI#F zZE@4m+LdFdYM!rcZ#A%3ELV;F9n8D?STT3qi!vTXa!e}sg&*WR_bnb)PFZK4YvKlM z_bvqN^PZ;;h}f1N84rYnHBh3oV~D zSRFR=VvDlAA>ux>f57h_U*v?#p3p)xBu6Fm{LDk5oy7yVZr?SduXum`>29mqRH?jx`ATw<-E;cQ`Co)KMQ zD!p)o8hC`T^j{R6{M&y0Kde>cNrwrmo)^nUxwhU$d|}W%HPMyxC-P0z&T&A^ZMMMt z$#OIJagYzXOR=f#=0a=l*LM>xLVqQ~&2>cSj2@pJfJv}gP5E|3@2dN?l(~{p_zKbC zD`5qBEFe3<_XI0B1F6vIs$(aMH06W%!aN=w<_Lg-Yl-ssp=yQMcsWnBL1d|5VznH$ zGaD$a-DB({cAiI_$&dcwQLgPE@4?)!)C7ZA)FfZd>IS&Bfj_h&MD~0TUTw>U`bMv#=IiJPV0s+1cE}>W zCi-dtRNTS;w9C@xfj+h|==7@fD!tb;*i!YV@qB(YzLnO*V>A&4GRkUj|8~py?E8P! zE!WR>q?h4*afQSgSo4ec-3p-9;jRXfhx_Yc(20qiIYuAMO+cEVwj z9LK2}sx;K^JU5g27(XK19KY3=$}qIROLol1qrCgkm%m(G58=k;Q(Z(*G9fLIXU=jB z7gsrs04#+~N2}7nY&(>pX+vqaskcAWBP)khlVizdp+I3*ChPZLf^r?$#(x8WU%>%R zRybdB9*eCTP$ICf&&${dU+Q+Z!Uau@KR!teP3I>Exp(ij-StKpR&ZKISn`>Ndi4fS5-f}> z2_IX}O?NT%c2$fA6OUAt-jKBWT}2qB&Dt6Iss4#4@_Y|+>bgg7#B#JXdc0js~wcQ~vaJ!$Me^3s<}d!A*$gsx7Z$L-+-2{-#*tU5J0E$1{cy^a1%B z6IdrOVU$0D(2EXyklbhQQpIh|D~!+-wt9Z383u19DH7Y<2jizZ_ww?&uI!qsw9}E*^J}1Ig zn{PCQ7TB?Vh(6pUa@jwcUj!E^pMAq61vFC{Ps2&fS1NxHgb1}C`p#uD*AQivr%+G% z9;Kf8rrz5iZ)LhkOKZT`OMO9aD(dtq{$fcREFh68Kd3Q8*2@zA$%i)uKay+my-lJ; z`(F6zVz*glu2ZOGHsE#gPr6dOiLn@Q2{4P6tb`PVd~~#yMVetD&Zjw&N0Pl~km^)6 zC#fA>L=YiUfRX~*5*j{XWxw>N~l8k&~F%z#w=>rS_qhvrZPvQG~@T6B5l_WX4zjv%F?E?-uz4f z>+B0KDZl zpLeH_Zb8p3r?DfDb^1F$uf+cx;62nkb`|cHw0H%hQ{4pyhx+EGvuSdsnY^(LTnUpZ zg<9$3EYJIV>;j%xAtqF}`3;?t2nL9}y%%R^7Q`cq?!{>YklypIJ?pRcVy?A zf!fGNs)iCdNAp1uw=Dk?AOvvt-Z)&EMGD_V`NgxCDY=xAI5nL|QoP{d;~%3_^rra` z`xiPq!W($DPbP5K&T3%l&-`yh*>A0Xg>X)Mm=4G5-@+X07_9kN!YqUMGxvj$mAt@P z{c6zX%8cstcf5oTS0XxACX9jH1vQLv{=56{S@gaf^88Fw7s{W&F01}CHpVvTaw+Yf z$I9BxU56=UpGc6Hn3jy=WkSEGSmsM7@Z;5avR00y1(0bEM;<3(jzrF7(0q3U1GRk6 ziLOka``bEcSVM&fuP(Y|9=<=w?Mg?LL{L>ryks09>Yy4!6;lWaxc_bIFQ>Hsm2^fv zO^DXzsW=VZP^Ho*-pHZ=(^pc=_!8(;U6_*5PC=`TnsUTaHDMC-h^Rf`GvU1<$v9W4 zIw2D@c1(*gvjGUhGLHzWNELIqcanEyHocw5>kq0cs30!;X#CU13-Sz zBo&Q)jUnUIRL{ce&t%kWXeUe(X2^JL9WR4b>B+V{!)}$LPy5kk@_bU;;mkt#x-bFO z$>cO!H_p?>8^&GEG)IZ-OHUl%AY@_*UWWz%<5``STJ=(I*}iZKdRMV|?`91=P0% z$T_57Z};uk&Tr)Lgayg*A;fH}))b$T<#aqv<`#5@3d9Q<3)E4u$>|UI?5e@Fh#u`x zsP>Fb3(}UU)$kE~9=a8MtHw^aLp+f31|DWtt$~0`w%|av0fuZltJY3`c5j4({wS-5 z>*^8KM>5bC#6be=5}@DId2aW?-{J(v)L4`GL;x2v+c0@#7JFILoe7-CeoxhoG zLOxS>2gw+!_bt)7H%?|{QQlzN--dpDh8iML#8=vr6t`W012H0?MZ&)-$1?oVsz$(v znrsE&MMzw1Dx1aU`nXIZV*?5C*vU#97bJtuL+OCm1@9i$q?bL=BRtS)KWOKjFmfPs zpJN+$yLmaz*U(#qM65HXjSqh)LE|m{n$~8;7Cih zbgCKx+WLJiSJGSci+_xWed1^uttNowtX3@YIpYt;Hm1|JOK9u&F82fKHnCr0F-ghU zHy&~D|0+4m>ax(%ct$W^fjfc69%A8e{%n$MnYnqTv6<%>Z5*vh zDG({pTe*GtZVCpN78?K$ycZ{0>$0aLJSd~z_$1KKkFKJ=ZE!bx^g!@A^i3bKdcmRk zgDsPVnq{{Z4>!Oc^Qo7OiT4U*r$uVwnjV=ow^ogRgoP*iWu75B(r|~bJ^-oW`BNV4 z6Zp)r+BJHe*ekzBfZmm^`NELJdw&_-PbMGzLa1`y9d(My#3m7CtjZJ;YZFWL9hSML z1aOU6a9hw}uM5MH!b#p~c*rY?-{mgNL{l2b1J&W{wkLza@IUah+9OmW{L}KB@cP`~^ zy#SFoe)x+B8j=YfxILIr-}Lngkm;J3gh!i#rSr>yX-S1_^6yCrbpxnMfn@c0z-Xwu z+<^$)w{98pyH0P50jT$T$7f_N*j2Ly>{_bEeOA8Q83Z0WE}PBC!-`M)!9_6fZrfr( zRZxZ-CFh+q(x+GELA5e!P8+;wX_OF?ttBOF?31(J_u~y_8pbT<;`QtIQ`& z(<1e2FZ*2pC(UO5}IP+lYa*8-j213TMoz|B6-M z+?7>ykg0d=aVNZ6H$X^1*l>4HAYfsXQe%IZsUvCSlvgui{5GGJ#IN?sQ=c=IrNKl# z1!5?NhgLC+%9zZZc|kJU?w$+9A-NrY^R;OE;0F=&NTQV8L^$4Hi@F*mGCF*X5$PJ-RzeE$3ZOEh{q$1LArW?~!sJDjKhmI|LvAhr!0 zgm+2@pqGrs_8$y)JM?~wZJOz6Wtq*nN|DPWVmp!CG=?2aa;cAu$HzKpcTG_a4l&m9 z=vVn!ljYxu-DPFl%D({xpY@96sQY2Nyy`Iyi(3Yj6O=gbVF&^NA6hD>K6I!KCqm;t zT!k6S$jOQ{z?NvZtws~-OJ{>0zvy*RF~UAntiINkTWX%c%fPGU2*EZFG#tq zSQitM8J@bWww#l~MP!tP3wmuK>9{|-jHzi>N!*v6Ng(S!Mw9K_1v1GMas8z3x(vL! zGb_U0^B;&2>H^P!dKc(o*)B;$;phDO=hy)7AfZP?H)ObHTwV`{45+`up>GUUzPHO( zyaV2rp-D=Dm!smYi(0KMVV0K#D}29 zNPB#C(xk$pF3zcXhFWV4{y}1gpX!XXH+B0je+X;)FjSQT1TESTPb1I2=WXYCL%vCQi#fNpXA@#(-d(kt*{lSIc`2HEFKqE5(7uE;OF z)?D(0aJC;9(G8?p?OjfV>@C>O>0c9>H%m)DQC3$KKswzf#5B1>#UZrLuZKJrv{Wfu zr7X>cA>#J2*N$n}>&8mzb$+UwMWaoo=7o0l#&m!Jn5zYu1sQcDVDgUs8IvC{ z0YIdrI;Kq6p#e+-po;ogqD0{RDw7n(9JMZ2RO^UCPt zouveo2edpTd9IC$-w14j&`HMTyjLj# zfJ!A428jNzw)!#d%jYV{1lfbev>7q7xunI|rz%fzCGgKW$IfiHS5Doh3lL$Zq$do`JPI~c<$UMh6A7g%6-9hCf?ZOdm=m^crfps zyex-&m(4flLmdTdW#?Ar>WgUS7ilNOIgwlIZB^Mzm;) zW`H7XXdQZO@nd5`++n4H3NjC`(0`P!2Bi?Um zuJEwMo?n|uf0n$F(3VtA&m&Hf{;Iozb=gxf-| zUaeUJXr;$8dWrzu^uu_M%;Fkvbuwjl<&_Mozh)JZ(z$Z&P=?y^S!Xr#re!I2a@9I1 z<|dE5(ytBt*xvB&7J>Cu3l=PlX&$_`R~34W>=Vy@%poxfY=>lwx%aii#9hM$j;MewG9| z6IJrAPnKKZ;`P#r@f4BHj1hN`D#nZvsb^ere(UwQpLn!dN^Dj?QFp2ZXE{k$yO^z^ z{yI%YHoc4lT#Sm0v_D)qG#Hc37_*a$TcNp1UvjH=hfeJ>n(dDEf@|G-S=~ta2t@M(yxzj(nRumcEA|c%DL`?S_ z1X$r%y>F|u)nGZET+uI8D9q#3o5Vd%R>|_ncsxCaVXk=T^6RwO*Sf$aWV~+n8Q>L= z*gAsI+KR*xy#`r$L4Bloy`im1Hx!rjePzq_54JD-4@cbF12R;T9>9~&1AA(;=A&iv z>Yvr=H)Vb%2`{?I`ne^!sO+(>!o$h&qsNP>GW4#?l}4gAMK;kCeBwK!dd7OWhSyOq z3?pfL@jnglwpQI&Ev_64X%>F=hp!rV7S=h;tD{~WvSiLDZkEsMqiiD zfrih(zZPC=>B7cH_P=>417R2l4WVSWNn$E66P8*G-`do8%rocHnxnf6rW(#ZuQyCW zGLsy>iVB={Z=&JP21kSRCzPaJ@vKOcqLfb2*;Y(fuOqcVTP9 zJGKX}<_}J(h`@~iHlBhmNr#mW5-nWJj`L1%+gaFqmlH-dJ)Zc;%dWWCB&Mk%#bhcU z*u!MKf|bqkpZX==o8>qkYPf`FpE)QLI|;I2zxuFp^WNqKk$ZF!qYIzp4+sB?v$O;} z%N0Xxfv_QL!6%XODj4nE&JzNNQe)tc{O=Dh>6Q{>HR+zYo=p{qxNB= zyT48DRZ5P9*VENJv(;~<4=SlZ4L|=UoJnXo#0(4Ew`gC=w~`yfTgd9qjI`0=$=08j zPv%DE!9wk`3z|zXA%3siKJ}Fvhwlpw*~T_9bksY*%Kp^JbI<{m(x(dn`4r|U!@q~} zXH6iWEI3e&A1$9+yRe3T>i#3qUa`(-$7kZ;pkZ1V~dc^kPROFbb z6Z!z<=wM})UyJIL<&X*yvaxIqd#*px_peu%-%IPDlCZf@oz;Df4dIkJE!e!g!J^(F z7cI+Qb5Y(=w>%U`X_((QZ;PdWz*XlI{60}Qg&?-_C~zLgb2d&Fc|ic} zaIOe0E~CK(c}o~LWoyOQf^n6+NX43GU+7pH^M}(!{UnkRc(yJTR#J_P?ef^p&O;&w z>z}o&WE5M`qrCfQ{n6eE;?*xjotB@@IKaV@L8u-hcbw0ZhFg>?p$uTk{Ku|0ydevf zjC@REjH25G3qR!+xaFJ9ah)lIoaihO+;l=7--&Dm_9!h7y*p)=*}T=JGS7YY6nEo! zX6Cr^;E{1h(x-IF*8e`+1Sx`;kJzb8fp7+U+$K5V)TEx*ax(WHk2_2- zOaSh_F`3s6FtijKK4Lo={UY`N`CzF7wh-U@pNV}kXU#Kaxj$i2%A20rK9n1e+Vp@j(jUVtg zBXm(***27W&|tRNCyTOS=iYpBiw37{`NNyN3y-jgMEA?6yL~}ujzj{ zW(@mwPBlTiuJ^O_gZBt@wiZm3T#UnY>JfncXA0--@zL2rR>#iMT&EI6BpPz$eNvI>;T)AYWv#NnCmS{W){GGa+Hp zK(zlQ_g$NVfjy>OLc8U3IW9g|q&d$?q|KDYd|uBt6Jj$uPd=E)$n|YC{&3ZLOnNE} z?>1eH%R0zru_%$;eaTUpzrrIFl^U1+YHJ9)tcVf)bwWNhK9G|Uq5Tvz{sxvV{X~p> zvJtEKD>~bSFi4Gf8q`hZ8g$ax=_R73TUba~mRB&9@*Qbv#^lf&5LSpc>9Z_0I3(gL z^N&sj=^!rd@a_nQo);o!WPLf{_ zMGCv@80TS!6})tuMtNcz-deg{hqz}qGC{Np3b4DP|4Bv7xteL*KEV^(33?>_l#MTj z+^mx`+fttD264q9Y;Q^!YaT?FoBLsYzKI{OdQ+MAXWe7$7N7>F2Wi3&N_RtS4Z4Xx zDMXbiy|zq-c71P_Y^6KO_4v}`px!qXHMWbEQTZPy)d2%36I~Wlf3DQ^44KSAqhjvf z0*J;}mYWCQslkHvPSWNK=ZL^4{$y4IcD~hfV$c2h+3lq_T)qvB(o1!r-j;zSi6N~zODbLW8mac*w$zK40c%e0NCrKUEWhvXEL5hkU{}eJGnGDmF>Makb$jx06M1X!CAh z*fF*Y_LBrWFZ-EgR;T6WVCFNNQ*6h@qBjGM3BEQcDB~n4T|@CG{#BrgicQKsbd^3S zA1i_!HZ;gf7PYx>3Cj<=aAvJOlB<)X{b6&9V~=}h#+;7eH=thEL8 zpR(XiQn2Chy-v_~gQ z>{)pKHtag2HKiY?Etd*Y-Wry_W^uBfJ+5HWR&=MO&h7c#Y59Sc;DLlm*nnUf;heMp zdm3LWzzh8j`&bNAK$uN@e&XnrMZWwi0x7djd<<>Xq>+`CUA3vg>6`OCuM1NUSIf74 zuv6!|*U5A{;K*35&2?|LIb$+Qb0No?{%?Nr3LKy7r;X}K5lFcME`O2`kNi^WLZaI? zQVOQPW&BO%&K6C0DtT(S$p=0@#^#jWrZfvop2ztk&i*RD1(^r?wmtsdeF1aT_UTKS zpPz83s+WkHc)LfGS~6Fo$@IlH#efgXRnds)Gr8|Ah%^`F4hI&;E@U4BUlZTuMt1L8 zYzc%;k3X-IiZ$M{aG`$nYVctK3m)rG{6=`sG5+3Hz?ato2or7DC|9t{s8v{rmCNk| zxaz4$++%SZZ#aQ%TgE;M((IV_=HJ5|ahR0*)nr+oJ~DZ+9dB+mJr4QaNS=x#gD{a! zGhf_-ez!S`NYW>jWUT)nXD!`|JYzmaCZQ^|n{0+Vd5Q>S1mn zs^OBM)f$-^@aUF``(ieCRV~ow`-tnYx_KVFy7Ka__#3Du`-8j58>)zR;3ZNPA&@-j zUiNSR8H?!HQ-iR^{CEA0rW;-<;F!fdXELk+_Vh>M(f1WhxKTXGw*Fn)9J~`waY;nP zQx&h2^PoF0vmrH>27#ltm$l=U|27xpMw_svfA3yOv`_+n zFnrR2{b%F(FBvjsKC=y5-W~#kSYSJ_bnA|<1Fw?jfr*g&voTjfn_O8J1 zF#tje0Sfkya$2CG4-Sy|pk9-qTODg>pOr~zhTT`Pz&z@c1(eBRfaCiX^f&iQGM#gu zsKs`f(O@aSU&B)P+Q9Q-KfAwXwj$9r;+cj+*fGd2J@1T=d4k}}la{Ti;t4O6;KU8K zv32*u@wAGs?o9crb-Z9rtWo>*PewXhJ2Fj(?Q)fuaJGV`WtP&dfL`>f1R6jCN$$f& zp07e;3g?kB3Ag%58;spI)RZfus~he0>i{l-F(!fzae=o4;r+s(^jdU21V8DIp zj!#G-&a3^F@LVOM<2K-9_o%~P=KcZJm@nmei|;fx8651)gsjIA6wCfhd02+; zjzEpWn4iF5MlBsJ%hUoH?QKrr(`Qxtseu>6{i)()JHtw-uBP4bOsx#DPP0=Yo?28S z36JCqeMOx!4nq_f%Y)l-!n+YND^lkf=9NF?y7gQt3u9USfp&}adb$uWL&MUu7E}IH z-Om!H#ZVn41d+uW`^-y4*%&u?8NAI<_&;X=W0s)nZ%?nB@%(bQE#b?q^a(tOFLJd% z6^WW71v*ep@q@A&Hg-deij`8CE)267LUcm7z>hpS)#il>1e&r^I`yO)T9t+@@Fh#4 zT0TR6M}kXXh4J3~nTr2AfXL~uzc-C)wD3FlujMfNEQEyHr_64(Zp7MiV#9N?)Sb^} z;&)S>^_1ZU@G@PZJo^)BbVB`Gj{CYZSU*{*S91H3 zzFxj)cu3-~96Wlwz2rPv#hEW1ne>@OQ&$)n-hfFkScK>;E2r?li#3e2&NVgV$2lVf z5@>}A4HcH(3v>6#mCjj&&B%*<&z|YnN7bo^;YOwM6S-Pt7Sryv^|-p-06X1gHPjoj z_f4ehWu_2r=>5U!!1B$K73M4u-c`W_KNwe)BtbHThSG34I1K@>6_8op@>e#MhAllIcM4*AYqSS$*F7VOsWCU?f39z3)y^Q-<+(^ zG+UiorQPf*yLZc~Q;%S%(7DOEQQLM_IA^Dyf{h z@l^NrDrgdn0&d6{-|Y&Onu>9MIq`o8HBg4t6IfQQK=*Lh&3{Nw~0sbH$mW`Tyj5k@Ss(bKk zP46t0OMA=3>l?-3M!cU^-QvCr+A1&#kRO8ICLCHVvUM=#F?Q1(u85q&w{a7mxQlY? z(IQOtat&cH^xxHT(5mRh@R&!)nsPr)cL0IzXvrPDnlQQ=(^skYFNTLYh4-Lc+$%IH zo|G@cu%{-D!81^I*u~{j!&L1q#+tlfuF!tEOQ`yPkm-dyj=(R0TM9EY+c%ucU<42lGsPbDC5vTUJ2s&B~Qu z@70qS zmzLJ9l$s}~=1e*6g9Hm5^u8121RA})-RVNu!U}GUVL0XV*#bpn1dHw=r*Rz_I`$C$ z=h%s+5##_8o3cvy!K(B@OFpW9QqI&A0zWa^VC)=}W(#EWU5eRN%yr z3&(}I+j zo<9a^{O*w7NevZp9ZNCIdAB7Tw`mvthbL0!Pbfh2S3!SI}hdN9zX4sSRuB~E^*B>qyO*?q8}n$}|Ehs6%XFp&z> zj0?c&G1M>1y-khZ&DkNd9!jjDIv(|ww-?*a#)hdV14nw9lQgJtm=g|(AVKCS=n;PP zHen)=nhEO*5+rZyM=qd;Pd;gqE3Q{G-VlvMKJ=9nQYE{;&+n?VBn+maJ|&<~VU zi_HWW?59|47(~f_C<8Ko-OYSS(5qvIQ`KLJ_w&gs636^bK=W`_N+OV!mXY39VK-w5 zn}x&1qG(&!5_sfvLi6Kw!a)d%0GH>vADP434Tkebe8LXn;BHwzOsKDEx8+L!(6)o}( zuEzl!MiF~pdEN!S1kY}EIjV?|{d+#$>ZLzf-n&!|H2}G(`7FaHE~g$9e?|+byEN6r zPsGI59ramX1`FPc>J=%GGYk=POdkAB+zJY_IL%qt6}1!9&Fxg~Vve9c7G*5XxR+z$ zaQR^ZyWOQnNRx1{iyq}PE*8xop?CKn~_fM9+!k&A*nK{ z?5N5@V6e^C+Z|ra$Z8Q99)iUwu-DW&4czQam~HpK;XxnNVyWR4+2lg3PcsRh`hS^p zSv>5p#U&;&|JA*Q`=e{0L)Fd386roZrN2KL`Fzs{c zNY^XR&I)9QR*@m>=9Y)+Sh(9rceigNf?L!%6pj?8t+84)B+WTaON#sLN<@@Xb)(4!Q`GXos(Ko{n?p;M9Sw>20c5ln{RNg#HQj={5|yhXxMO+_hDbf zpPr-jwkGq=b4iY2=&?uPz06&U?7ro6Foxw^J-Z~LfJDX&zau;*P2sFk{L*IMLk>rJ zG|kHgJHI?YUDwBz7v0)te}X9>r`4lnIrp@87=`l})dXXR%a{T&Ueu$v$vS&n;;LF^*s$ z=Z(8a*oq~F3HHAuuZeq%ml>4zV3T@& zj8Kbj!wsh`-W?v>m$rC%exU1&*A>&@@)@sJbn?CZ>PN=)RfUl5(m zt(y(Z8YI3k?HP)Pc_{np30r?WP3Is%>Zi2{zSk1r;HX*MT0IOCNxwh8UQ4~Q^(u@; z&LMvJS%;qPlyX6D3)aHhqJ3)G?mEZE#;^>|0WI*Ue@K`+Lsj20y``sKOxJC;B~5UX^tCHCe=NoAAel5S`}!7rvk+mt#ea7lp_Ps*A<-p6`j^Z(mM!0u4=-Oe*a!dTAEmoCI_L%kdjR)o%R z#5~Sl8{r0A)8KBPZ9E`!p8s?b8=^#8a}~SW9NN3PsB7{9Wzo0Ejrq4xiRotfS8S1; zo_l1rN3$N7oEev#OBo_Im;SPYuT0f+bZnf-8|AmPkI)0Egg&mhZ$wo(N7_V|0*^XZ zPdN)MSv!PQo#rogdJT8|lQAMaJ(H7S?ZRvQ@*H~Ox?e3)_&`;*t?hE31rs(iSp5{j9 zm^>d&&1wFcO=ukpEDQ+=OSJlYot(gxtgfSrf6s)lfU)+}8HSc)^m-u-kRxQyza2^( zt8gjY&ttA_)@A?S>XA|}*l11o7G;y|W;k2lVOak)Wg+Yx$OjE?v@PO4eGj~qN_Nj5 z%hI+#MB>i16Y0M?-5Bdl74LNA7xNqoWVJftdfuYASGkwJ@4f{xtxAV3-@NKHp9}n# z`U~B4E9Lkt&|HMurT!;B!nl2|fr`Uk z>!q-`@sfz5M27S_MT&*G8PJFLl_#|RyloaG;KP7QwxyNN_3^6Avs+(z=e6}Ta_@4M z@E^IpYl@%(uWIr-w$?|Ouf(b2G~sH<}bYjOontS@h!i1e|pG< z2#N>^OZ7%mniyt0uC)3#9}kE)T{4y;w|XBm?H=n}5b)cL*iw#f6RMYcJWlV+Gj!Ol zjrzYR*xwIjD*+?pJXZ2T&dXswi}Wvye)@N>I&VjJVWF#=U0+ow{*SUx=6`BO8gQX7 zJ^=JJ+vh=V6+P4deDh~ey@Z)<`aym`S%{Su6%fN`*#JleAXD?mRAWM14h472esi~U!u7L*bum<~i zYPi|{ZeD=PiY=uFMzki(1zCtqGOs^ZG&{H zC@kF#(jbkbbST}@EzQybg23Vu3n-1G(y74GN_WEoOD)~KOFjF0=6Pq{zkrz?WLrO*GSUS)r#*yscQCZ#hy zlKL1i9GPCmlUNGR@2U$*Y%)2mdc$d1Y0n%d_ds9POb4eWB z-M?)~iJSvtm~(Lys{&bH?MXbfu6$8HQ+@UwVUhQYTt#nhv8~Yfo04(hGvwgQuq)|P zzC#3%gCyeaSxjA!C9uzvtY>DQFn%++^o!5ypg!~xJd`|~zcbjsr+@^g?S%20P8|LMq5kmoZ`i+ zh)b@);0T^aLE@I}R~>7fgP1Awz-SJjwq=d3!8`ukDw#xvAOXV^ z5*F1^I)!yiy%*`*9VxUoM2VS1HkNSNf#UOenj6HfgZ!M0G;zF-po!4U1-8G%i^vtg zS7c}ktq%iV{HXrT*QU3*Z`?OT_#vB_Z}H3aO4A8N=zD+dmWiU7N@k*oD~8u)0iQJmAQ@_Pxd*YJ)o^ENT) z=^5$7J269gq{i@^y%Rly7iT`fAHD|W$lXbi(d1dJoYJitWq|wBZq8=T8zZ+99CO3> zVn1$vx~SxzIEf|z5+$%X;mN@>;n6r>`p#DqMAs8#BzQ#{a;y}nWGr_^&Z+YF$?#5E z1)r|$_nzKI-}uV7J4FjgR3^*qd~S*4h@{nDcn(Wsq^*t2CY4rtee+b-_D$Rn1E}%j zXNEv-Oj-EksU)j=*gNo@zvN#h9Y7#G5;SakjT`ZCoXDtKGL$95Sy6bi_qk&-?^t}i zvC>l~JVX>0l7NWtCgvX&?<&3!9_w*Y&&*L;-hy8=5XWc*bG()ReSWrOF8+#D{%G5Z zGf}U5gR){4-Ui|Q>xQmxt$%9zH^qqTTun~i`EEXu>$D$;CE%pQZ__ip>9?1=TT>U= z!;lRYkFnU~G)mgmT2}pUJ6?F6Y_+CUHD?i!bIQGehcXUK5jf$2;=q-qDgMtS^s)`S zPB>+J@^qtiX3t;zZ(P4_2|Bf;2pvdy&&Cc8KZIjsxh zba(RDp`q2sT#G21>xc@oGo7C!K#N~wa_pk9M`??j;cx#___;i~qi#w6Nfit2YX6kH z;YZs5_|=xZtDz^W{L1S7U#9JxX|R6&jXv8P7M8Ui#Dhp$A@_>w zLLCLFeD_!0(RUh`$>oL}a5+y^q`6tNnZ(y6{O2P->rSXvS9VU6{&>t1`R1&%o%P-G z{HM#Ue)VsiYl#`gHMT~BW(NO#uT4e!9G6=K#1e7@gU|WG8(wwz_h*qBLyQ=%p*Rbb0%gHP;{plpGe3sI% zsylRlet*>BEYUL*2KmdGKO%2v#D%a|PRYn}#}$*_*&6xoDQPh%?l2t)M180HVyHhQ zWVgEdW(%0Wj8$zsID~y2&~cx*6gtquYS}p-Bo3UvH%1pM><>|X-fRCT{{afs z(Y{yvTt3bs4sBZg(!49@@5Fn4HPdgO`}}_g}V!InU#tbAREmcVRCS z3VT86!3-h&((IJ{I*?@BzJ;clz$dw=0iACO!F}n8XK~~XgIeMb6U3xC(x=fNfS^LV z4>CaO*)XyUz&)=`j*yF>^eujj_uJ+pbIupG7xNBn|Yy06HUU0DVl8X$Yc zAM^f2U2_j|OB3SX=AkVEtGQS1|CNbTXub&$BJ2J311Uf)=+f%|L;PXzQL}0l^ep3z zGe0+eA|jYtrPoVz*uLBf2}mrfe3Ih;*^ZouAV3V{#22GSkm>q<^fr z(F)Z~X}^9$zz#UoHAcfy`7E6#px?87MolI=!mSo+Jlam5tu?vpqZ71gOjxL)Y;i|d zS(lOg2G>6A|2)PGP7?}}en-rY*OkZpllF0w6+n&ir|v5)X$Lxz)|bJnow9{;i#M)T z_wfy`Gx{;a^qgpaBA*F#dr+QyPrC?r<~{xAE672cvtms#6oJm5YM6$@DI;g6p#r~4{FV7YRF13H!9Xa)ey zk6Y?$$MLCjom2CpXdW(9|1(0N@da`aXtwz-tQCApr*2B|j8PHI3TpDq1s<80iJXsk zhP{*Y+bg=0)x#yBwj+|8@4Y=c4lzPq?D09~c$G}h!c^-0#J7=0dYL!@3a09^}$cE0=SFne81o7)%L0yYo&e! zFko(0V-ayhuD!#HrH+xM+h9Pl$_}bX&@BNXy{J~aBeeU=)A%T2UQbSSd*CwO3!Ft= zH;5yj>|P66XEME4jJ&XLr~pq0(06#a6@>|G8NSDr-ROVvVV!2OpnX{}5x&&JFiwK- z!iFyA<8-JxBQV-dzJ|QE!odQ?7%l$G_vmHj6Bp5`|C)rZ}v(P9Q+a6X)OgFIob+9#pUO{z|q7!O*c^3rCGJl3OT8@9>J;* z+ld~2PrzR_hBfOm`8=RS)Hw4P##jdbItzU}(qy2T0^U#KG!K&ia0(u6&Ti-VmWj7D);>FYo5$dZ@%IMn z?>1h3?#(QWh*1knldox6b#wO*E{==A841!$LfrdyQbLUMmz zYe9mobap^<=D~zGV~A#({5yK_r&gZYJfzw_n~5K}KN-mG{+Xqy72&;M1Y35Dm;Rk~{`Jo6@yYtKQ!+-rECZb<=jtR>RU|`SJwC>-p zMWZ6Jf;)QQKL3%WvQz@G+s}E%R?!+U+(4DQ{+GpK(gb5&;U`?SZRjA^f1mkx0?hYm z@Trc8jEQihR9^`in-49jdjz09O2JSL~+qqNQ$NsJxMTLCF%(Sm3~ZQW$rjgOy@nayBqK~yXnndi!z zyLlg5?5aSfHVNe@b@=|_?CkjdZEoll`o;xGHpKKZsPi8oL=F~PC0R)Q&YXy^v}Fj} z3~S!Xgb&t_wK1ZjAKN8=Z8Ww|H~I!s*b*Sl^=N~gP8wT6x(3iW4f4`x01_u`hy3wU zKgEijgCQW^uGk^-)2GTRT+#zi`qpfBDd)5I1H*hZ&cZis4EOUO3*sQh(QghacSDcI zG!W z520+reV7Zq?k5pncG^C!E#Al^*+)z{<}%@Aca%qK03Lkqb&%4syx0Bly|_hzSmbk$ ze`^x1C2-OCgCM2$tHkQ88gDil(5Fuj*RujvvlkIU42mj0XEALCa)6@mxiNP*AQ?Wf zTF5H?)0U8vF1*UnpIB&UMdY|fuM!UCfYkNDP~TKV%j6ym3wJHfhW$lzwkZF*^D0*y)IqIgbbAaxjuVSSw9{*OTisfNVU zpLmR11Y-p!H1_1ctrhq?F^mmtdT$!@d$+?q%@z)Sg_rBiP1~qq?L>Q!m(&X27Xr^V^LTMV5Iyh*UgfEv4|_{ zeR6`H1?s2*7{YGWf}&)wo_oHF=)&ztPNkFbZ}?1>hng-0k(T+KftfQaC%LEzoqvdj zC2~dnRHXqo@%Cl6J&x5we8t<)@4J>M#QK2ynA0 z&A+M!VZT)bV+b^PFwf`naUj`~X_CWrksYJKbwojSzw;o;H_f;KT15nwT%Js}3{AwJ zU9(nS?W7HdVF)dsxHo-ERMqX}zN0(Hkxj72ril((q8Q5JnUr;LI(v<7D8Z+BgeXrA zvy&C^NZAJl@@|TxAMX+jJu$q-^K8fc$Xvqkz(`#VPJK1--DIyNZ_+YTgnWk^Y{*6V z#pJY>z|L&&(w^s_Cy_!rZp3F&tFef&_9X+}&%7Nv_Iv2|riI1QQURpi-v0|(i8Lbf$zUC_fQA2WPM9*Wc8G&-tfwadsfv7Mt-B*K3 z560vEE5PlAZt33m@q_lZRs_^%EIq^0PWHu4X4AEp?Qp~}m;OSxwghigQHgQ>zb7Pi zFIMjc=ZWdX-Y;N#GQt+tqH-vtEpDj454}#5h~YDz`L+#jq`chDXnqp0R$By<5Ae|unwB+OqJBk})>ltC*peeNiL~pdgGH!D zZ(=TMvAtyfWV5tmw>CiB5F^)sR=qG?)1j0b2t z+IOKi-?7&lyzfd<7C;cil=0fc>AGS+_u?W42Q_M39(4;nCa}z91FP>byN>KVgiBuc z!}rO?eBII4_rhnW@_Nl@wO%9aR5IS#yw#V4^-(!Gq?wdgsd0^A#gR{fydUO6u) zon%~@6>-0g`-%@e_N|z8E*P*T!Y1NcIa1@amvEjhE$4i;|166BY^MyMKqug;nEoy= zJN`(uW8FAN@z@MlvHR6dd2cXgZ7xjEVot=aa$(uX-cC|_A|JLZMw zQu!_9o(?$XCEwDAbV>(t8Y!%YZId{3gi&LowMNM=FG=2Z;g%e)Jf0X1LoyCU;Mr$Q zOLy01AY8y-v;Ya8Zx8;Za_6N}AbCNVf}V||l8e}odbR=$8*RjsDy{Nac0gR}8I6?_ zV>B~;c9*&ahAqbKHwC3?PQ>dW02>yeVnh&z0DHdqwR7fki;kYD@og%s*mKCoQybp1 zC*NK_Lv7;lyFns1ryyTUJqDfBl|HNUag^!Jn=G=bZ?C?9rlmk=IRI`*T-zk08(q?M zgj72d)O}#oh;#3P3MP_?m(i3^;RY=-w;V9jv-!TcEkVshliw^1SY+Yr`vk-HCOdII z@f@^?AB|9e_;Rt(+fK_7NeFz&?@<5yCx5pP+m9;Xo?QMRhpEN`rr{JvS$P`s5EJkg z9{fYs^CayQ2Ql&ySJd;%4i+9fjLkI1cIhr%BNcHqcB{uj!{G?D*61b@hsf=teEUgQ?>j1LJ)`K;5N%k5mEhTv zhhQC=o#;3A=oX=h=SscplkH2~C~@ye&vAzn*+@^QH+AL&1x8h1U-<2aNa62l#lTq9 zr4&WY(?L(Y>;}hq? z$Cy=rH(nH1fo8v6tZXJfK`0w0bBy}4KLUOM9lUW@csa#3h&m|_^TO`ps49{VD-73Z z!hF77l<;MZD86(laecV|4yA|2qT?P??>0EAYtMIVR0C%_@C2S-6M~cG=L31La&H>= z_PT*O`|`Eag*57h9Jem8y2(#1F|We1^eKwQkMiR-Y#k%kTa0eSs{p>ItUt5?t~LG9 z7DTg7;a?`OFK}Oge*9fuU++!Bv~Lvt;vxYFbL+A)-`pY51y7S$E>FwtKFvjKFN*&F zAAXHEVDfNUx8pn;J;fRe?Z6OtT?&;h<$5>QJ}Pjq7d}ESRR7;hFIvKF7J+AR)4K@{ zBO5EQiN)QNoraef$fykeYE*RYHAK>&q)gv9+$7MLp< z#VSE~@woe)>QjJ+nL9L~4@|>$+;;u->`m_K=D#Dxlb5)xsYa-*T9S(^%VWEk&k}$k zd_@bXYWul7g#f4<@aTMfA1i1w2I^*$jei0X2-$ER^|Zn>f3vH?9XezTEZ z5sjt-IJQ^(-9>qE80BM;zwU0mIEC`fhDebGz&mOTLd}t7oxHe=hM@^ zp<{tP16-Zk;x~KFO6K$-$Yuq{&R7O39(#fy6aYpHyrB zk%~mQVEJAt5TXx6&8Nx$goNBp;0=aJ9*>75e8jp{&9un~VxYUoIX~%XyG$wlBjROp;xqTWV5RIn_*ZvdPpxhf0uvY? zUh+;@_Ft77UoV!{;1e0W8BLo36)Y2&(?$=GxB z3;CEb38`jtyyi)HcK>J7EmZfc@PVtim40e&OdYuruBN<1q@Q!sV&`%D`v88?67n$1 zCt0{sm~2nv`0+=CA7LcnPtE~|iLh)kIhcWCL83Or>PxaBPxTL7ZP`m!q|4r%knfEE z@}vi>^%HsK!>>L@YGHrd!uj*n&-7=Cef_T09el;gGeVAAPn^*%wGaM>wQ-X1+S2|+ zllnygb60gvN4z{A)WUwcO9a8&0$|wmF@@Q#bCpS$SS%v^@kdN5!UO$(LR+ z4aIAo&Szzp_;G$*uTDmNU(Fc;$m3=~+a5prP^cL=C!#$Xs+QrqS{fUPb5>2~rbbof z9`vHwU@6D04+B#Jz89l_I9f>sni^qdnalYN^sxW~h(tObW-njE!!$fvPJ^WCqi18g zDH?}Mt-|@l%kr(Wlt4X}KO^-h!HqUpcniQh&X2b1wrtRFs{y`O5cgL9L4wk3UZQl~ zra;~IHl55KKw%YgN4v8aPEd;*+we>2Z#I-;U$~CjIl@se z(Gu$`n69G64kiO*=PKX%Yh^CIclI$Nd2+;Z4%1xTxMuvD0_nVFwM)b+h?!Ag@=y57 z`D8KJqb64|1WlsnxCBz$bDW4GA3^m%qIP|8Glezq~EJ~Buq^EIu@~x z1(xaIMmJM&spr%IGS_n)9h(iYr46yh^p*;iI-NkzaM%)aDrt4MQsI&tk>~nTG$f_P z<=g@BKoH)bs)R}4x$gE%FS(mVyx!khOk6rsX5cz7_nq~gRJ-!2qvbEmFNqp8Ed`_n zaiw?>l6BG{`0p3$okCKtI)bqIk>dmK%zBE6H6bUs>3jiU13UrbkA%<+u6 zBx(J-v4I1y`)|>41rqYHlzf}j$#{!~)D4j9NHaY?Tz6F7Mfasbx^V6z!3pR$JN)+W zcZu}*ZiGXp{>kCrU>Zy}O8kWpay7Wk>zE@9Z%pKPvyYL~HI+SUyd!i`ZkP+T;wcr|KDz6u=*OVaBl^s(>bK|;*82uvFGMg|{ zNRf&Kq^oH|!W1&PiP>yADVEQ`b8LsWJ(WPEU11HQYRKo$_$Se|DY6=x^Ze)y0DR&f zh>B|TsnJg$gTTixZpIz|1{K-dV6VJg7HZcdS83vc}j*a6JMNc#u$}*(Q&?Vdu zls)4Q9u^7Oi`Dk3A1>sk8Sc5q?kFlkqEsI*cBd{^=$*|ga9@poJi<)S79b63x%JKG zlW%V0{cF2CM{-7$uQ{DnZPqy_g}g@GHAXbZ>qucxpM%7P6=q6v11F_vMrwW~;!sJ| zJYuMQNvK|y==2XAce5238T6N0U9E)uu#j2+(77jQ{q)-V3Fh9b1KlHIreSg7X(WQ3K&n``M*fc||a7lnB?dPy@m4-*{=y2{5t6?Ghr zEy(y4!{M?whm;(;ju?K3JvIBHL4tmV)BQ$s9E{fI_9ff>&r-q3qUGW@A4~ve8&jLq zN@q{+<}d`qF?M^N+<)VHKk0SQ*&gake^;Oh5H{@-2a&6T7&vskv6g34Cf9XOVg)AW zMC{P;4PtZ#o7VeZci^n*@M~0f8lY3)`4%i3$!{*mX1aTY z^6#Euk#F6&q3<<9)6$C)Cn%BsJ5MkX+u%QnGl#x3LP=D$!`BCIQp=CY?#1bm>9T@< z$n4x&9LI7^EuPrw!2_P-q4dMYMD6BfSXVjpx>oaWWaiBJZDA;z`AVDe+1Dn5k8E6; zNW(h+4!-YFR!Mg`W9p+#9Bfi3f`1%r94IO^_*upJc}n93pISUhw@(eh%Oo*4h8jmz*>mEJ@E z%YJ%Qig(Vq`%;ZTrijNY5^9k&bU9T`g_MCsgOa~K{9vKjQ8l{O=iy%5Hs{q(pf`<-gfVll>Q5KokEkm)Iu0BIi_Gf7xBvK!ac)wv+svRd9~4)12j~^gZ!A2lhjqG*Y^tx93}j#a^itbsqN= zT#6b$J6XS-0}}}Knhg4f_+>cAIY8;%KWHmkg}R1rGF=~ejUIPB(Z>oKTwQ5@JhEN> z3D^nm$lOV){aU1bN?P0-Q@i=3WdGS$>PaN7zu%tM7^+9%o`KCg8u+p)`Apn!*AvYO zi-2g5{D|*R6P+d#*yxAo=8_xLbO)H%3fj5H><_1RhBxIXDJu`u*$)+|O*w2;!fKqq z*&z^F$wc?hFqZW`7G5w2I(?zS7tlt$*c?KQWEH8MJH+s}qX^G|?{2`irF0EsR zxtWoX_MvT3?U(~JX;7OvnyjVcWATHn&8;l`JU;Z)v2TGy^X}J)?+qlI=Pu^IW==2o zKR=0AB7Vxbr`Mm=^$v$tsrwuFlpKdvq{r;vi?1k>?dO?zWe@TbYcj%tqru}&1{+Nx zmnx)CxIpJ~acO)BP10}P!$3Y@%Tra$H&y4-GtUEA_;;Fw5fv_THctUj42P2tsx-{P ziWnx(O&Cvn9Gr&&Nvh0rjISv9*Gj+Su(+E_BcEiD-tfHe#ThPJg!kHgkIv37HM7wC zgFaiziYjk=aoeO4W$TWYf>XA2#Su|pTm!XUWd#cyI) zZf7-gOFoCK2ahae=vDKy9pB&=KC>T1XklzqsPBIT#Y7zlR?z`VEO@-#C+<|nQfs46 zJE^&T+hhT49=JBFGOS$ecgzbd5UEH%g!!Y(duH?C2opZ-|w|Cvp1I8Y#p6p z(Bg~Tm#?a!7r!Pe&6)9t>wJE~oEdJ$f{#S0z|XS0JH>gSLAQqiZ2E|>s2DB8tkiL> zvK%qPQTw(m4Ov9^?T{5;$M@aEK6K%aGCQ;&3}!K@uWzq2{3`AXzBvDW$K!?}m6S&$ z+NsoUCkUHi!8+N>76C>MXNzjpo7u#y3Xi@Xaq5Xzo?Jcf7%eW5so`|^TbAs-i^y0o zStFKROQc_J(WrOO;*&n>-NW998Dwd7`L{0E2fW~iqWcUM+VJbuC^8xb`P6VH`ZbbX z7RMaF^naf?uJ|7Rn9Tpmaxa$)d1NtLP0!4BKy1DxNNQ3wTWaD{Z}Hn_wy`;xm)Y8l z>uV{uUHn+wxE6h5jHU%77URj?2s`7EP;=_YTta3;YTGw3yeq6pYV%^Tkeuw(qfmL%CKnEy5mWTlZ^bPpe2%?*Bo+AQt3jry2cx^`ZxLDRHRJAw z7ksM0JdUaCHbSnwnmjDITdAZ{=3&AA(hN&M3VYj6PZUQvz?73olD$XPenU5qkKn9k)3($pyth+k>|zEJ-Cy`yN_oH{8XN7&U68X z^J*}6Mdw0y&#MM!{U5eI6y8b~M{HxV=MeXB(ueb|TlZ|riPF4AiNMQQGf(j-m(9+C zI;S-u*XuX}F4I1(BKvc(GjNt?t#aK#w2}-uI6PtZB*7E|>ONP!%vg-W)=MV7^fBu6 zse5uEe~asPYA4CW20kV$i5M1_eNuws86#>@;#8Wd$5s%nprN6wRRZtnIcY~yu`KO6 z_roKBKrhOxe}a1vs184|tg{($0j?*FjbtNf4cV{mx;FoBH4`Q`nd`*U zpxEmkrpGbnuKCmEoA4w%fohiRR|M?;wl@ONkFccnK`_^D&mUCq%2b}$<#A*OiOPEZ z7>o3VQ5Y6TZz5SJ{nG0hxP!yIzb5!?r%tx?4V;rtzO=KNOI1+!keEHt*#N;^GI+tC zms(^2S6{yZv)SKDr98jSEb<69cwT6gKAq#Kes(3!DvEMfiwiQkstQ%Ts<_o(3Ed4# z6w`4Lz<=K|a|>WTwVsIsJf<s?Ueul0B<&xKWtZAkj zl|nQfe4p)deM#2B#X!g#YmiBni!6(rctiIXco%kZ;rG^sbiWVCI1Pp~jnUEL%Z8Qy zk$JjbY(;~2Ix{iTM|QKb-@TWClK9d+!lI%AUU}N5)KV2KyS#cALWxfWf`1C)j|#_? zc~HiX3|yr*(St{9CaU9!AG8EN(iUKM)F+a~EQ4rsq#=+Y8qYR<@rMnu0X|+q9g&@w zE;=@B3Hjzt5>?GByHvvjHv)n(u zh0V6uCldh++AW$bve-h`vDa8So2F;roZ@YmPcyBR@|RO_jn=m$L|EXPpYcapOna195D zhQ+#^laNsHV$Tf)AGaB)LNHX^7q~g-!y~BzPa@emWZ}?0Tfd8b!KQj_+?zl1O1m@l z=qa?eH}XG)(!<5JE2KKXZXm^e63vcLd;3*9X*}8H6P~E+BS+jVgoe?8eTMlPfep+J2}I5t z^r++&0afyZG0j+$4$3GoUGjKeeD>4Q5HEF<{p z!I&(l3rL1l*u-G0su(T}$cC6xM;56REbF-9CUF#P``@E9dsB}n=aT#`75cnMVdE$}eWh^+$nZs89wYLFU5XlK?wDXXPIOvP&^uKIn+qB-RA zQZPJc@o{sZiXPB(>S87k5ZB;7GZAACH2Lm*Wl}nTeqBAhY{wDA@6UoZH(A`CQ72rL z=-jJ3T$RdYCFk0{$PK$AK!tEU2LpL^&J3ghd`W ztxd{b%~B=(eObu9Dvfc+0y&HL}WrZ3lgW; zpH~?zh4a%-+4pCCqr#mtbnau{AJJYH_>jFA^v~(`GUJ^)sMWd0VRycu9C&22y1T%l zKo8u}o8xdsjc0wv>lbamJxJB5v=oHY0wR?|XstRI=F$J^DMiIaFsdZp@oy5L=?E#P zqvt}2d-N4P*-F4%4tr|r^$y!_cqn*4-#@V6IHKgDSuy6Th$2M-3Uw6+Nh_b#P!p_c zGG}JNd+U2)*y>pN(jUT*ZEqyO;tawXK_6&C6`Esng`DbM(W8Mdva3I$UFC7-FC z6#UNvjIZ5$BbxTU>NivrAA@4~w5HYR55Xz(P9 zMzo!pV}z@nc%|TW&cKD&>?sK;l$aP|Nobff8X2r@HakCYU(b0q1QWxp!XDBFwgV4? zQCBpK=Ue>mWpx)M9I}UVes_+-iaoW*(0-`CU-}Z~4djTf+hg68X|J-xe+_OZ@tQFV zSNGLYWScv-`IyrAm~vY*ynGrc#^M@LT=J9VM4)Y>EbttYl9=1 z$8GJ=eWxBih3nK&Wij#9xz*#=OnfKS zF&2}**rE#X9^3jD$Ts-`Cj&n+su)dTown{G18GC|PGUD6Wls;qI!8DEUbGo}Uf~lsg{E4QSSEsN z@-iNC>|Bx8k()coGx(=hy#ZH&o;D&4M4vVgDc=6it8LNpShJOQgpbAj_==2Ep?$-J<-({=Yp%) zI1K4|tHwI2aF9d>K+Xxb-1-zMQ=cT34+lnEjI7f1vs~z?tBKGv!KuD4G|BwgW_YWt zYux3|cL3^JS=D3&=@hxgbB$o+cCBO)=!gVHSDp&IUSGr2ecpu2Z%CcyL@>{t?HLCr zo~QNp^5`v zGb}WREn%-h&`kF_`*#f`$@VeJ1ce-fXP-6L#AVF1WghI*V0k}Y7V7=VM?05`fB<{@ zZH>U=F!h8=3Jx>3+@N)}I)9{k+{z!5USfty-z7VnPjweKj;zkSFc zz@Yz^4@pbsMGp#Z502;zBZ}q&zYDm4D$MH?>h$Z2O;QcdI`0EBxN9EUQ3VNs<%wwl83J`pZi@=kJQk-EsEy-l!!VE- z3yYM;s{NPYBCQ6u6@?BH+q%@c<&b+4p@1#k1qK=pSEDK+EGo-rfd7AZ`r!2sY3(GN z%^6njzrS;?6ZE*2b)Knc2JWuCjPp8x5{;%=2udM#$iF7*(^aRvPgj5AT%bg}!!l&Z zZ-ms(zb6`87a4e)m_h1ps!>i+nN}+GjpKyMF_&5S--3|C!AFx;|3=DEp`u6p?4pQa}9GP!5_D{zdw!;|K#FK9<5v)OaT({j+}LWpelw6diK()X{*mkYe9xV(p`U)A!8=xh4x$7pVL`JRgb5;_`cbV*u~P( zu@@k8SzcXvPvd!EVIH~yGFPO}t`O-@yHiJTYH}iv3<``$>WfPR{qgmV#u0TS_WXG?07OeWOquco85sp@8k#Vcs;nm zy$azzuheoCpOmUSedeM>-V1^N>pMhyJc3M9XhSb1&K4X;%hUfX9QIOuF(7@v|3|s! zaH$qeFuev>Im~57VHDaogaY1?+Py&+Tp5O5n<+?Qt*zCmt%J`8~g-a zUXwarI$`$(Qi-uYgT0yJclQiu zTae$yjMl_o<5xWHy?@LSZQy-#*e_|EtTzijRIP861-xtV+WTeT3MyR_w`az6^zP7} zr_{{iMh*_y#*#MS;6Qc8#>GUvv)$rX_)dQ|3wd|z4G!^CYQ5xU@IRVX^!I?--VfV5 zT2**)2Crvyu@pu>w(jeQ|K#*E-NY9qs^fgLKk;aa~}QddxK# zvS6i?`iHKy*zfKi7j-t<& zomSt4y|&tSIYKOn!-0&UN&cEyD!q65^sV%5g1_7A`2PQ?h3T$Xz;6ED3QN=cTmQ`f z=wYszbX!kBsfn`knPJtonu|I_yCp@L`-5oG2ZVO)%T_vy{m=>0Ht-Yy%JQF*S_13` z{Dr#xXJOI;>F(D~^Q)Xo!13Ag(N?jtTpr58tSK6Nu&RQ>@&qucz;n8w99*9Sq^q zygo>%{Rqe+(3YyL47O_kW;Gx4tcUnX&YdIT<&Se=FcW7at(W>Yb=V?R5Dr#DPelB4dijYr zVfd;m1w4c=ceEbRGIP=|0gbp?IA;<1PgyuGBE$k)4-yg@eaqykpRUKh5oO_9CdTwX z%8A*gXMMG<8mHY_pe@*x!m;vf7JC203r($<_&oC=Ul(tOQxGHT+5BR<`YUKun)pdO zHy4k8F9{B0%}vKCH19zLH`rF%D>7{`3P9)lgnIahfJ}kmOywRX)=D^C>v`N5?|DyQ zdMlI{wD;42vls+a{;dDYp2^@vzciLxZA4hqL_@pHwKZU=eUHX}pd1hG(2m@qDc6bU zijvz-4=T}wkUSKVQt3h;Q2Xf|gWc&%4FqBJY!8%qp+|x5;9jDI4J#XLlWneKafyj@ zA)DXz?^lA4GstA`-lwEYA!=B@rb9q(uva;UZSxjOKFd+;_mJq+}$;B^1S=(bN2oN`H);$ za<4hZxG_Ke9=h7-!Ma$_3UyO|EpMqqyo#9&amB^ysu9u^=^+>j2uzCk0vVfZKI(^dv0L08X(A~4M)({ zpU{P$_UTUs<^;FK0f^`{omZtkFCrj@e(d8+d6E@nY06)39@4ABuKB(#_Mod~dT-GrvfYxhC|`(k>7}@fbcn zU5Cd2F?O|eEHG|{WJqoI3S{P4GDphlkc>)|lv47!Vm(ujn^69MPm$7>!r@B`iu z{tG6dkeCY`^Q|Va9K!N!NUZ9k&hh7E>gqM=>8wpk1a?l@_%zmBo~aaKOWS68`eEm- zT{~WHYg%U%Hy$vRM;+FCV{&e2wWEX2t`0I=bNBd zqZQ$U!1$ff`J&>L$i%XurIp~r_yGZ zUy47O;b}D<1aUZ@!xb7 z?PB|ba0}OU_r(U#Zr2ZJ5#6yXQF_E87Z`znf@$|H1R$1-Pj`K?(h~K+k(!P-iclWr zE-HGXszgy*!Bx!C;bhi%k*b*?f2JQvIzHO^rv2dsRvsc-Gg}4PdpHp)G8h9(qN#EVow}&JH}vl`bm>BUT2=$mboff(@D!#LxALZx+-{ zCkdV6V#Py#{wkj%+_E8E&T#G1qH(2(Os7bnE02#T_(Vv?uNjs|dm{9jXWR(86*L?3 z4~mN|doG{Evzj$pmk6Gew5+ORwi3W>@k|?mz2XqNEPjuM8;Ju}|4Y*R|D%p}syT9- zV9e&%{B;^Oo<$|F7@@Pa958HXF{?~8g7$O>(RYJeEcEk9`q zcueh4BQnV+mTsDsRF1@k$+$)_$-HIgqfwMAMe5Uw;N0#c)UNlwP9C2h|F-$S!to8Y z6{$~HbfOsJ5MF~M^Pd!7y~FkqA`z-uLtRVuCjEa;4cZAJ1f%w4e^4BK*vc`^_BE1m zM3rCGusZ(?3ZLZuuM~z~DD(Mq?YakU?wcx;1&L}i)7`WW2cxdgWSh!XeXH#$ME1G7 zg^mDhZD8ll7kX-~WvUrG3xWwYI(DTn#}_In3UnW>RW|I(bRh?k!?p0rS=_2uy4M(Yarh=qkiK%Lim!WqC6LqlMQF6;@?#nz z9X*|(f2JF|>erNuy6~kYWpUM?`o9aE&*miXneBrSAqe%HGuLF|74`BeU`tQXP9Yu3 z9Nz`qCKI2fp?(MA!#Dk($kfcF2*7XeZ6wViKQ^Trs|S&2bis=T;oFKqAo$VBj@s1yd3zLqXV>S}O6jG-XY;~F zl2hD+tKa*b0L#xIxwd?<505RsQnKSAc>>-2c#Rxj1k-AD{!7==7e!{Wthbqaj5SDi zTVgWSW4?i?CZ)ySomf_-a~S(b#XMvr`3);0KH2638UmM^^`c2-I$4DXRj^2s@lA0ZOWS9hpa3)BW}&`x+Oi9io13cNH;<#WiRAAR;fd9MyZ zXn8tqR>!tHdcg0VNs>%88^E62JFG3RjA8q%WjQK|D>QV4G z-FVAN4h8ylRohG7X2>2K1Y)tA_FaFhw`Z#Xtb35V=3==Dg^2AQcbuOJZ?EzeE?hN0 zGrmR=@y0J+eb!p@JPxH@gbZC5O&|ffwAK`of5KP z8}aM2b8a&hW_s|6LHH$j=U+a}um!o7Wj|}VHbgg#*UCCrFM_sOU0t%0(5SNclxV9P zJ5ylDL{aGXjUwTNdG8a(4m}Rr{(ID{lv#!%wt}F$Q`UFV2l!+Gq}waZR8~n{b&)B;U~Xh6%P(dra-c^ktP92Wnzywf2*AgVv(89Is;rE zudTHEsV}=Q#%0UYnW-3Lrd5nDJw^yXg8_Hx@3-LMy?RIC%kzL+@7obA4)Yny{Ex^A zV{UqF#)*@aI(JzD_i`#(Q{;~!lcxv$SsY}BPx=u-GmK~k=~BYsh}R}9ZGe^+lqc)} zi8C_c3cImXZk=FEBHQtcBM=w&mMV;|_9@Ah5|K`^@>2=b~* z$m?BjDVs2KOLFC%!MAI#)npi&x$607MQgR}*6b33y!2`3XuhawBuhk`+_HJj@pK8I zryz98cV%dnzF8h27flon%mB+VW2e(l%PFB1Xyh0tqk0Uj zl`^ylx7Gr?wPm74jO<{p7aB3E(cmvUOulbL9XRAB9u<=jordViV%3g+g0*%(4erWM zE*TuUiCOs@Ijs)e(1^Obo_#%&2kLPeP@lC8c17TGct9PuMl)8v=YK?d-Tu4_e}9i_=(9@zO)Ps6mS7CGa1k7$8a$^TRh5?)r~n(U zq~UxV5eisBG6WDA7qRVp04+(soEFiE5Ho6WJ)yQyuh3WuXRad@aQ>(3b(5W_PCs`x zH7*Lc%zjx#KFMs`%8wQSU-`h4-yi@lw~*FY-PeiN4BVfozwjwkp5s0s61Y0N z2wEWR9o%F84VP6~To@gTHg`o_274@^!DAkcgl3BZ?X|be9=Cl<|6*#B7roQj@iGS0 zM|K2wOg-ga$5lHu&+PNnh#$e@ zjk7X#;-?GYezD?abI-lMa<&@K@C`<^inpfGcfuL?PiAVjuN2$kIP8v0LLw5XM4m^M zR?@55%(p@S?XbDN9*azuCZ@C+B?b%|c$ETgs>RAC^`>!%6tAM6%prmvoq&=3cLtw( zolw4)O39pTQdEs*PqnL}{|*0|T)Gtot;plOlhq<5fJqxN)t9IgZ@*M$r@L))o?JPM z`;1FrThDB@H98DBt4gYt#4>{oB|^kNY=Rmb@hTvdbe9ivIk7+N7ECexn(B^nOp>GR zYCf90ahY9cw5a-I(~5t1pEOB|0);Q%X)L~tudfc>EbWbV^Xnd!|Hpyh3+4uE&`p1) z;Xw714T1!AAA%v8y`{VE!cyc znZ|!YRg>|4%9ki?hdUK;h^iG(iCYXD2&jyG!ffUiK$c34HttC1^m~_R6)DW1#JauR zVT+;&e&JlAV&;P){Mx~8MGEF>-_vY~e1AE|OL0N`%pbgZoPngGt_VCLeK<0xsu>hozD2i? zNwy*W^&?eFUAy@EFz^s;R&9q>1n^uoLTVTNGG%#soZ~bu(VqG0dx_FQhFTwnsm%!H8aAnSf$mf}a;n0oZhA8KoN5 zS3w)oEvkw78F;o~KSqfU5Vw&{b(C6mCyc>*Y-Hskuh4ZFK0pLbmF}W>is8hkw+zs5 z`gaV=T<(|-Zv8oOH+#2WJZ=r4?XQowvGq3dHWu4LLdus;`d{y=3DF(9HV^*#B>-CI zaqB2W6C!&Sj8jkEvsd4Rlh83LJ6n0vmEGk~pKTLs8_|solwRpeS`G0>W8gD^xk^N0 z?Au`4`gJ1;w~ZbNvV8$*tl>IWZ=xr7+{Sn_h6&^VZhk_YINiZmwJu_O5sd^c;q`H? z{gw6XSmUlUtE@%~H|xtBWST4am?q1kaHt{?&UgmD3Yo_-J8&maV;hvL59Z*oyoV>y z61Pty424_My{GV8gY_9dD()6`aC09Paccj32ES8zgcaez6r<30 zm*XX?Ytx)*xP3_rY#Mseu{|iYq*Z$^B$*Mqg~Lh7apCY{H6N8(ARQ3A3v(N(p&c3l zVo-DPD&jNiu$;ing(#6kX*FqAIdH%Ep zTO)mM+i~~Vvlqh_Il&7_bLdLtr>28B$sx#Nd819(Q79I~L-wsOH9F2Tf# zw*%HV;Idv&+PeVN^4uK80OyHI!9}(dIt_q$2&o`Jq@e4`S2(nk zOGH{;q2_FZ^E_ZaVeVikcruW!sXTZk^UID~tL$rW>HgA>`T;IpiB$s%ZL zmliiUHoSwLY_U zjBk4T`aaggtao!~SM77rwcTP~MV;NW@_!iJNu5QOj3DGh4z~fcR30bn#l$ZEU;K~z zCMTFS-pHV(c|3S!oW7sb0;b~)iIP@(VbW>RZ2EIzd;J^q9GcNLOw@f)9J^Hqv*RYB zsNIksLzARgj~(8`t_Esy+GHmXE(V3%$@8vQUc6_8!U#f2s_qxwSgp0?J0H$Sq;cEO z>}7gD2+Q1Wu#@r1)U8_+e#$ud>$(q03?)~X^$bip?rQA~fT?BWd0t?<%kU69{^JXJ z{*E*)IqlW%_)JrI^@+=%DD+{0G8mie%Q6pu7x^Kq7o$LBS$(SRn@Qu|?Ngn?7=+Vh zno|{mmzY}Q1+TYnCHKjz{ie@;=uO7NshqrwAQSC;)Lyz7N-R@D;bKpnuG2~Za_kkD z!IS@Ora}%ca7UKVTH~MQ>-`lyBI|{@6TtzqWPPiw<1MM^I98DdB`cj=CN&!I5bQ)a z#6U}LQh#C4u+#tToOz2;LmidD?pPX)aFa`ndD=L9d?fDv=ZGPEceGwWV5cD7>`-Hk zFH6l`QREqIG5_S#qEx27&=OTM55=(Mn(p8oTqQTUK0LRpYhq%;Y;avR zKhXeQl;ZcaD(;~wmm`T4yb2vD5VCSf&KZ`9(+`L*T zoHMI?AyJyi65 zTgArU>9$w;3375wVj*NYU#VG|y-xt*Gl&v&{AGBDTJsi(QYtcD?TA;paA;)1q;EL* zMyFh_njl}NfoxZK#6Kl*X*a#h(=xBcd6~IEX6?m`%6eH{=X@X!q;6CJl89G#oSCE@ zi0P!Hrl(PMv0X675GYj4u55JijL*QW0_TI@?YH*rUPbO zc+~M(v}qcFOLxf|z4|8+K4}0vJ(P*n`9Emb++uqOhnle_+BBph%Kh9r^#<$z2r38? zS))at|JF^v04%O~1_uY~I472EUOQ_L?3N+*ZvjmHpm|1R8q-gDaMu#&f=UC8!HUq@ z_zkSppyl||VILt2X%O`!O+>(S;eU5~{~JbZyi%8op1u(eUNu0bb7Vv5fH@Zu7j;d) zi+$NjGf<;Xu2EIpIV53Jq}|f`rJX>}ow4^<4W+zt0te&AkQ1noOKtD5 z79;n!4T==qv(CZpLWuj zoo>I^HkPbx4AeqB@;1?z$F^Z)x4kt(G5psGFtKSwMRr~H4< z7FvsqyR)~q%V$INKFxg*O^G0hG|eEm>6|fisJ`{n&=4rRz$ApHkg2yUWOk3~pW%~G z1f9`n`XCmsu7!?4SEbugmit`ehq+(vRtsWA8bC+cv|J7Vw6TrDTS3tSX-#`bT$Dh^W-#X;LjC{I@#nH(%tg!E8@hNAvya@wn?5D3M`f83dp zWr?XS)JBoN3%G+e)WP+-CKkGRfl}|T2T|z~ZYW_c3pt$}JN5G*i#xKy9G|Nj-fc>+ z=uWgW(dYB-xtjIaA(zy%w%07@qC;6HZ#29tcg|p|PoA2Ra=68m|L%IM`7G|1R4}Cr#rxu9 zs~}#X`Z#%;WDRXK{&n{EBG)#xeX7xbMKt) z8|Bxv5$SkiXFCVd|6}=gZfy0TaE;rV?$!N;Uw(|R$Jk^M-1tjy?TA?c^L;z)1W@s@ zSJUHo68?4?Zw?#A$3;{zDv+a z9J@Lb1s=O&{x*R3UGWVNF3P|22V3Bu5#YK}3qPY}5?Y=|K%^g(?%QvdY|M}QiL>Ce z=<$d>_@dYPnSKD0Pf+!*NbjMdbabCACYnG-Goup^h!Df`(47*Skzs9@QoAuEv+@;r z>TdbI?{w9|LFKe>G)>l8z4F4Rq>WMe9^Ml8sG+X}AxwSqjrd-eEhUzvv{xL?mHI4r zIxE(wAS~q5gDV-Az$rz0TCzXM9w=a*4IF#9wV}X|JE|`dFLDwO;Dh=xTI|O0wi9&i z)J|YF5{$)AL*yHSExw@{**0I2K+Ig1xvxf);{B2^IS_xzPq{m~o87BdCC)-3S?!2{ zy}&_&!;7fy;vQlBm-Ejz2cI)>Q$_O^SxGwn$&xyaYtwL_;-UBXqgIk&^V-#rAran+&pNfrzMN<$qeccICS}7- zOrBlPN+PH#`8X!wT4ye6)R2PgT_mSY21Ze|Zhlw=RB_~Un^7>eh#2>v2|D3xE1ylg zqZTI9=t0Dp2*Jh40uy)}Vzf-Nx5Q{bWcr>yo;l!t=vbx(xw+xdSF8dr8y|p4EDwGE zh#P48PGLw4Ei>%+51z|NX!wd&?h`34DJe0gW*2_~FMJsv3ZndvJ_>nm8eKjVWfNvU zS=fpmpKah=N;aFkN5&gu6de0%*b}(7VdECzdY%KS@*OcJHoX@RF^UeRS0=*O;UBCu z5bN3e((;G2Hfb=6bh3|=SiS7oa^@GUHW6yoHSv^!oB{{b=z1J51v2=qAauR3b-BYk zO{H@sraUNG*Hs&DFT^y+Xz#2l7PX{)LzKjh5)A$T($Frw{9@OJtF10$~|QS^zQCGwXxjK=x!w6co9hIPl??-?i~N z;)jE*m8KD@aCDiD!x6IN+suMDO93a$fuJwH{tpGrd5wjH?lqfe9;*1Xmat&FGlPuzdORHu^*nPtC2? zng<`^?epDzB*FoCG*;UcK~$L`hzra$j7rZMLXugI^M%^Hb>0 zv10h}dLKgP&J(|zJ=*q@RKcq#V&}u||4ss=^8zZlIUH{Gvjfnm17moP!9k>9a1YkJ zo>N8KcO6aY;OJjhE>#R;i3x$ij*|}-gK4wF^0~dYf8q1m_lvEpb4%1=dn-z170}73=%tPyUa2zS|y=Vxn7L?u!#6kf}5Q^gH+c1x2GfTjv#DZbQDg%$hP0U9NVwqb}X8?A~)pZ&*NQ|P}gs;iIn{Xcf&&7X6nMnmx2>{zKf(O-< z)ZPYh2~IMN@_h^02BZ_qCf8G{e$qb$$Iv$UJYGPYi=ED}!HZ}8Zq-l0 z6wNESZm|T77{>hmsJQdL`h`DN|GBq1TTgy-kvL&nQWUTS13Q-#-e|vwXukx>CTnt% z@^}`wXx1$8?@0f4@yh@{^6#cbjQy?PJZss4F4;G%IV4{MqedXR*(qf3>H9SD#K$Gs z9>8w_V`JY6uky>yF_m+~dyvCi&wnOYuI`i+WlctLOEJh^H^*+7wiV)pC_cFa>pH-H z5Q)Qt2V0EMqy)M;KES_@2$VX+DMBH)>dWKhBz^e9H3Y<-$pH1OScb3%ee{I314OSr z^%mdV=SNHLjb&0ZFbrXCpR)w7+KxG46X5<05J0APg6Amhn=gOD3ClhMCdrWDTG}kP zu1ZYwmJe7}ycR;mJRi<)SB8!K>xBUyVw%2^ujEezG_=&JUlbRrY9v`FbMbZ|}*}%(e0gebr&BHi{S? zQ+>34Q>TSu+2_+!^Z*i-nv8bv<;r39H5#dxPNwmCg$7b>z5P^0;Lq$MgG!wI_VTO& z)Ne2TjBwKrT+|K4@RdvuOtvFVR9FdsGQz=zLegSW?d}Mu5F)ZBfF-_EMVTftUI>Y|CpUIpz7$bcCb@2)XprB5u znUU&{*OJz@LH@DpA_kgGVA{9+mc-Z5wb3fgi1qI!4J<+S(ir65fOhO;fpx@!M7rDG z5&9|?K=iajS zRx(ZWM-<2)^u(Qc_iqPxz6v|?||4dh`%_4c%kId zGVi5(t@xJY1&TpD%x1521FpN+_o`LCbTcA`JLRy))RC-r%o`XRA0#@`n*FOwW^vSZYg7y zKl)|%BNBoKlTQ~5PPvF$NTl7^DtAsK7r-y3FN^CZ^VC%kIlu&21=)2+#3ED3hpSA3 ze9XVUtvU;jOjgeC*G@0Q9uUdOF7O-qat87J!Pt4Pd4M*`Ugu892U8N^QW5js1j&i& z6tf^HJdfiGeMQt2cz}( zmPZkfTs<8013?WBQCCi~3BhkAO#nX&*BIy=;+?h`VQ<2135K-{dXT7@4YDrr_p->H zHfz8J{WU#`i|jI#@q8v(ka7MYCgU92p3d*2@eg61$ZNYc+UFioQJtFqj8FiM#TqSh zi%Engtj0+06BCljE(}w5rK|m?J!jG6yzWpV#U0sR=h#wlr8SUTdrG;R(jGWu0wYlG>t#e)jJDp=5l z{?a33Or_VMa-SB`;&}a-$_vxe;yMyeed%Qcd-rllORwa`?>WOD1E0P_GRwzOb*+CR zX$Uq>SrB-hw6@(gmX@*dc0RF?q1A7Me&)iW{%`xV*}Af?<_owGJ71gcz3Sd*C&zvs zo6h6Wr$pKh*caX@@j9pUWAd-R;KyVM0BPVHw&O_Rpn9N^ksv+n-rT)?AP-#kbc!x7 z28dlsf((&a?q2S22wg4~Byz(-=z@Q69;+v&Dr*d(S3`!{^pvOaq>-&=IYuBK>^{w@ zdOOXY+1@-{6V?`3X*yZ0FpWTVbsJ5Cs80HE1qa5!vcoQY=~Mo?B}zhv1KrjQb3JIC zF0oD)R%+6J9Q;1*6)X}4mL;=J+K=tCo9>HUE%a6kzMM;gEqgx<(mOA+OG#qK z%$BKJGR(%MrhPS$ii(LW(~zAB#+s^7k>b3DSeF28XT(^Vk3VqcoRgxU?sqOG*#?Cg z^XRPA2p=?Y6U#4r`kY`xhPsGfk&!st>Y?!t1LI>$!eZFvvn&g*M5L$T+9l$2ap))~~!iBL0%jQ#l`n zwBuHi=&%T;Hs9V~rPa-Akm3i$sn6^2u6`kx2P!&pI+{KgJ3xe~(Fq|dqyxGfn-mt7~H3LWQC_fo&Ix44pPkt~ROdQ72>N{T*_ zrx)GxNt;wC`8(OBk&U(-wjclrlhJB&3$>#i#E-L$Z_+;UcSFS?G+&NG>IG7BSodgZ zH5ymYbKKF=$X?-BY=boPlV+|zFLbci+oUKQXpwO6M( zL1^nUT+Y`}v>|sMajO8b@(oSYS|~1mjRSA&1R3$>vnk3Xo(kn-nv1Du1;)}XR39xX zc|9uz>j6|vamAh+pzdWr!!^&VQAc=_X(7k|>f?WmHeyquhwXSrcq?-0CO3pE?x?c4 zlIL|B1C+bQ^0{XLS@D}kjD6s@$$eoD_L&@#A6j;oD~H%Pf))eR28DsDyXPoxPIF6! z8>Xb%1z+w>K)@?D9m@%b7qPT@8_Tbkj^gmC4?EPYh!=I=XQ>&L#LF zn&^b3$NdEJiA+kpP1}{jJj6dq>Q$Q4O>s;^&d+Zgr-;8i>_lckF+K438&Yn zKeh#pA#q%G`J;V`xs6Op=ln2;dgn{tbCJa;M(md~5nBC%ZalMt4qNc@U4z>9Ih_I} zSCwcdqRvhP579xDbArKiTZ+t#C=8g0&gpb8cI=ecZwLMj6waFwdKALK(|xQ1z)Rcb z;x%Pjk=GtO436tYdJtY{1~@KjPmdUbe)HrvhRdgsnDP#a#v}_F{<7vJ%xAj(3tZYy z2jV(isguodmraj|@GeQ!oWW^J~w$kp;*N-jmYR;{`2s)%+7t%0bXDS@wC!W7opX8 zx$`x(ya)$WWeNVMMd(uDt=5*RJUNSX?XcES>!P!)5E@`tWkr5Yee*-`{G>a3RY5-l zhtyn9or03NJ1lTV2FQl~^!Ue0FrX+Nd7C)Dtq|1mHnvAhAT{y|Lu^&OVz=cdPc0KH2%7>MJ@Fuk z;W@DNjrNi3fSycg)W!{&p&vZvbjHPe#WeRadDtH&)vWYT@GK$NUya6GE}tH&4u`G0 z7r4SQ+X`cPW4WdtLc}7-INFCkL#)4rw-Y#dF7P{#ERuI47J>CkHsb!bRe`4Jh3?7a z-m+{<_bgGw!?)XwWt6CO64|1@Ex_~fzx_UE7s+qPE$rR5F(?2D@e-^pg)hR@(|&t4 z;)$d!MI!Xvjn@`%*i#TgG%%{4#qkZ{pjI=rSm5^94{2;BMxfYPE>Lx~C(O_dml8^3GzZ>`Ey{{ zt7IaAmC|3;c{+6TZs$;_fE4~1P#k~UUCZ42CWR^GC2%D5@h{vT%POsyQel5$D!$7*9E{OE>~mME&8JmwFlfohnjT9l3Pwk+4!BdDyL2w+{U|;@^UM~ zq^PrxR~~^(mku!HYBTIjX5~epXzQeuV;sN4$+W6t`3;Hh-uh{kS64z^g|r6KR??_C z&8j;hj%iUo*duVMb-I*8gw3U^Y^SxuBru9veii;v(WjfG)<#vM{?II_-Q;R*p-=C| zxxV51#WV!HT_Lks=C{6|>E7O8&}RdxBlXJqt0y8}t1lOWRxUI=Lp+=W$@qio-(aRo z4F+17;Kaj$4NB98DKksqf)C>*ao?{#oPLIi!{f^4k_wnL-N85U-+XUGAX{&n(>=;$Y585TFMEs+~(zXP=}%{_tMOE*~i#`V9iH2%=zN|qcyl% z)-Hmhm(J>oj6U#0&1&xJ2n5K&FqoWYjE|x^P^l+qIuP@1ZgOfc3m%6xUkJ*|$ZUjb z4P|ivwda4KbNm4z@+tcfgxWX*ap&juHaG<#4y8Yay9t}2)v{0D)hXu>J&qrFRLMif z8#*6@^(>9AF?u3x5o2PL@Dp z21ITz`H@yI7FEQ{x32a3B;)6R*fTMex+Bt-Do}|;Lq)weATto!ZAcXCer^|1%QZ+Q zT-sL3O@r)$l@JMFoAFB+Mq<=nM7uIT;(tSrIxlvOil||ZOB4gZJ-;E=9Vc_!eWaep zapFdv)3cEuM zr6usDBQdLHfPm?k)d&pVTu7Sihe_#^HeFyz&*bj)H@V>iXB9R27YyQ6nM`#JsA_>6 zRe>0#$bA;*ySYOEjxyfciWkXmfa9XSOtj=P%s0o=IheNuEv?ND{}$od3O6H}+<)C(l;&A6=+VLP z>|qV==#Y~x)_4@elsNw?B&BI7o}F`rK}vjoE5*$YMM(iDYt&(CwEwBw(N}ST$*;F! zd|XF{;Vf+mcy00ZFvp3{EwQ{W$Q@^Idwhv$i>>)`@%cb=rY~YBhagOz=ZLtiMwN-& zz36=`5-cZCqZa3k54d|D=JrpUg)1Wz5etO6>5-{4K zS@N;8)V8E@M!I)w@k9F+F`TH%3OaE55r!|Lyp#+!n~ev%!xu8vL#)uX+sYqR-fDA9 zZqjik@TeT{%*OQ5EAncrM!J#yLRVi7Q7Jdm9vJ)l65Sr}G%h->9vlBwh=l#u0?-zn zkbdw~NKEHuG!O^pEyQ5EK}C~zzn^YvaTf>B`d%DGwzhEWs>&((H;2WkrwSXGJMUY4 z5?Ows!oDMTb~HtH-cdUI0B#H zcoHj%BQUjzxnvq9A(y5)i$OlH6JL)WzKS!!Q5$UfNAp$DKpmw0*I};Vr@CV|2P4%U zG_P4eRm{^F+{2u2WleFPa*0huKyTplkhtnZrZF8HS@81#ta)T)xh=L>>l6YcaXK|v z6Ol>YuMpt>sp37tskjJFLeSlm6*x>wI*xm}>V(8)rqRQi@6`DJNqsQ68xGntpd$Bq zE}8U%`ai%^NFNu$@&{#?=+RmbE6L8Z%v4%0_q$|xeOHEKdNm0m5u^ZI@DVG3Q)z}U zUl70%j)p=%a)Un4H>`P6jz1q+U7`PHnq|^!nz{Vg$}OY7cj{)7ZZluWjk9>N+@SM# zBIx|fI}+kj2hb=d;eQ~2hg5^?WYKWGyyk3tR1~%f)`J*HpcvghTn>*@3$+woux7%a zIn!yYFTbETMf4A73$f6W@F=U7YZ|rFlDhm8db;MEt2FS~Q4=Hw4#rXUbrVorz~=?w z{hx)g9eXeZiQ3wX8oZk?@5O`lIvU_ev?mm|P!F6s>8{u|)UKH!-o)DTNZwy6$^>jN z$@(JhlyvRyaHa_CCSxx}!hUYSe3gT}kqB`!3db4Gju`QUA6@5)Vk&bv57VZm80(Y+ zYzVrZp5KeY5?;6#WrVk##z06y-5$hD8}dIJk<7SfJPdfBc_|*seV}jZz&3Qa=MIl$XW?S=*_UIJQMX(83bVaCPd0}^nxnqB#ra|uB|b#iNy$w$ z|A3{hLUDDuD540+<2Ky~uE9MQoG~2peafs^hI|y5@MCXaudWtJ^c&(oq}HOZt-*Ta zICT%>>ksLGVw|N+-s1(r8h3Ft7rpZvvlHbiiigeM=MR-*)n)DVfUo4+u@by(-a?r| ztFXxNW>{qf)uFKO!Ae zy;sd5A8&Ef_QZm+qdYmk)`{7Snz!3Yp|r34fA4kcZn5*72y6H60IUAW_&D?-mZFO4 zEwLJ9-ydpvNJH}P>KJ40bT|0;{L0FBr4+UEf{PQE$(SQRXnaIlB|2}%t-)@ z16_yWXM{bYZE2D`NimEg0`_X1UrY}UojBjv2tTdT35mY1E-!-sa9H~qCadxX)a54p&!PjtwheGBpIgm$Uy>AZYync`mEr=3DB z?8hj?3~VDGpu?0?M%a>kfQ3I-XU5HUYq2651JTLjbjxVnLQrBkG@M5u()@qa`!COp ze|6uzM82OJ<~79!51uG=xh);c#|Q_0W4VZ08yNZbk1yUtKkLg~jFtZBg%|Al`+xj< zwm?ywqiE#VW?k4l2mDd5w^PyhP*FV~`v?#0)^o0^N5!2;_)86}v6)vWUtMq{FRshV~Qh)xrr^XkeYfprwwLCofU@u>b*hDe|rCM^xrqlPo%blp~g^; zI(LBHCji~YyOU)TGFwjbk!rpcaFjGHx~CB1yYYe#W^d!=AbwOnY~;aKV^}v??!6L! zP=0k8&ji1uYSFvM%S*>Om`Dw;5IRv&(#!uS%LP=4IQD{)e@go;i{Nw<_Ss;HWhD*| zmzu3X-_$f#i!hG#FYNsN*zTGgLCiS^`7L3DlXj_HWvgX_F3{Rff$)Jf7~}M=e=Fz! zLbjb{|I(_al#^$TMJ@ymwOLC=Z6zR8uA&#P zdJ0V%d&Nh%?FCvK7<(YPN|~@8zh05TuG@am_vvBT;H5OQBY&)#adv0SLxaIqXS-0I z=;!N;7szN!((!R|Z$ax%M$I686ATqQ2A*os+#S!#7t&#p9y$wlkgwZO`G+m&BkeDu%<3*IX++X5AQ~%TLX*r(jk2x&&9Q6N~`fK=EwA?%B58v z{xcmPpv-U0YP^2yO5;fyW@()e+Ms@!LjQ9EC%R@R|D zGHTsm46QmyLDV56ty)#44AE|alNA%H+U}>O!XqQ=*GQM@laq`_O%J*xTy~91cAY3J zIu)KENozRiY|4f5u)a$vuSjxH=waFkvd3L$O!|v=EpU`)&QtEyvB@gDbhy;Cvn6P% z1t@DZm)FSr)2Mlpwf$u%A;Jg#6@$b>6dZR`Eo_>LV^#%C3ZxpcrhXh1s}!-wq>HAa zy55nsQn^3zFyc7AUC-#EhLhOUSD3ZAYU`#sr{ejAZn@U= z8bQ}nUCsqE;I%S`%^V4+S-p;@S=0dbd3ZdOHuEbn&+jB2yJh04I=eLm5=G#dS~mS6O7lsC8wAJT>z>e$ zW{=kg<}te&N|>?GYMU_4op+oB)&Zg^|6eIPbHoAGyvOT3-##~JmU!llMMj6P{q9Fn zsvp;RGmk!X3Fr1)5cgK)kk1wVuf=j4Y55(I06cYc!R~irB<3AB+oAUQUq-#Ws3`|L zw)1$8iL4C}^KjpK32k@VWgoS?)soB8s`JAG`(D!v`syMHow2(i3BMWcA;<8{1r?T$m%NqeDsK)*=^NYib_-19~E9&{4{}Xg)F!yB+tgLVGW+TfYZC?A){TX=h zD5S#THjq5YSg}|Wm~sIP@ew8`UH~PdBLw1?UQG*cX>S_kIt4?XXsI?F+SylLeq%S9GyUI%y19vI90FoUP}ge9tw7! zcn=fmz9lC&J&ELP9Dhe{yS+Z-S`dxcL#)UaRc)Ez<~DBZW{L&8 z4&&XtfOh?_>7o-Z&|mi({+HqXqFC+$vh5F-(H>b}0Bk7dBo9F?=t=uPAsL@i^Yq0dVdhYn|^=Og{9Tt>!;WMrBsO7>4bd ze;slf`NY}fOYq?;szFG*bv^@H|MP;6L}eDP8-5VAJXg}Hoy$ZH$?Nv{`<2`TXAdn- zs>;nI&#mWu{75{mIJIH0xmW*>31a6~zt5)r2VX?Iee8&+ds&1(p|jDU7+Ri1G~|WyN9aBgoBIWEQ%a}$Su6W|*P-i0jf2bCnn^;Q?r#LOg1Rzx zN&(-RT;Ie6wMP-^MM5bqY$2Cs=K~s>c{?`BHc6APA2@YthYw2P)pF-n@G1>3KaQ8p z0b1gN?}_s@Ax9$9h}XbM`3s=sA!)_FTRsWfQ+JHe*sM30PIIx4fb9D~ZWM)vy^3|= z6%E3JIf`QqX7>?N86~Uf;$Ga#2sO-ZC`WF1;rKQoADy&1)2s1dVjy(a^34-ul^ufXy zj8{>U-lzU(z$Tl{xi|95ru%a6USUOrc84T#Z|fzAeYuLOjEUPO{X^*j13EMZk7|Hf z!F}?g>00sA#}%I(6hhs3v%RhQBoA#1p7%G#A04zt2?P3QfM+UW!Ae(D5hOh0G!kB^ z;nVZWbpeM*W3F(d*@>x@Q``+-hn8`_QSqck?Bmu0@iOJJOjV2>fsZB9Hm8i5^VFs~ zv+6#=OXasE?h<DAZ zB`D~!fD`#}@1tMuoi!XL_M2w7VYz_GoSm*dtk+60Y~iv&Y$P{PA#osbDxA~%?77`>a4`cS}+ykJHZ9#R0qh8%1K*#zHX zM{r;q>tguU`RzsnmVLVp6!iSM)Y`-@>ey7`K8r6-!EP|s5mTsFj|cOag-}}e^SSB# zi0Qm)F&7dP$NWog8bkI4*7B)?yFzRo>Oib^kWt<@wfrZ59t6dv;)pd@bn2x|LJ#m& ze3*XfqGagmofx6L6q=a$CBHzwWQK5G9aMsT$W4$_>w2_k%{Ji7f75q*WB!$Y8Ye~7 zAcoV1G9Z2OHB)K>>*P2JrYo8HZ5s4;kELp4pjqHAVr)fXFZmb{(>^^+jr-Z>!CS~t zmMFGwwDd?rrHC=R`8nU>@1DWiB#u7QD_(@r=+RC~KU-LYP7T5x_@6&e7uo%al7cce z7l0v?@5r^F$|{&kjoxGThV%aW6Zcji%e|mzU=QaYZ*TzmrohM}djx#<9B$_W9RtIO zZuCRatMzHIS*3=-{XqUl(NBjbX>e(+gIm*!;J35sP;yp5ePRM(3krX{7s?m34ei5> zx%f9-(>|i{8#59YRO}7j{SR#GzhKd_uIGa3-`X7H_vc;IsbL=;Zj1MzUva}J)} z(N`6Kb=-D_^Xvk<8GRfx3>^O}<^|X}-*TdCAJ3iWYpI8O=2JN3sm#kBip!O0k7(8jEwQs<=Qzu^$CyQtK)uT2b7 zJ6}_7%+<-KKRS;-32!IVUl`aqu$Gp2Y(f~LJe9ka;mOm zOFSN>sH~GCWZr<;m?0nNBTeM2wq>J0@>h9*^6PQmOPKc666c9aUEZ$M6Ys0!7KVg1 z@>q^U#FLKlpEdA*=!_G9UE#~0>rz&0G@03Zf9QW8Hu8$A(Qo-|zH>LSbYNn-GBwCp zIy#+bv3q2bmkv`5C}a~&>|K3-WkwWQDkC5l_WA*am5X@%`kCz3%5qno57v^h(#-Oz z#?N5+Q*eVW(#n8$RhODiDQCHY?fTK^~7FEvI;)}jWKGlF6@T1^~dlF7DvZ{MCS85I=?$ZLI47~^4P?;F;n{}0`p z=AKQ*D@3U-uNRQ{-$fF-U(G2g!EO-gcCoB{y{^98dc?G(_n@w?&MfNtWmw0=j}~a) znczs-IjRva#wR*sV0Bdh@CerW0kU9zC z)w@DlCI2aVB&q~?b*T!su|E;|X}ywGeYVn?oHk)F+=nezqE}DU8Wj8EkQLS-5m=?f zw|6U6!d`VP=d)jx6K(@Bw!!FO)+mFtyfu30cB^zs9G%Z-8qKCR@BDmUKG6tLp38Sa z;3GHIfA`;(lX&p{gqD;P=^Ov&XfE{8puRcfEX#AIvoggkC z+8k_f1vf}bZ6%0CwLPz+J?Teyib$r@NZMXKk-bj#V-S&&^f$tKhG_%~J;uW)Y)^KC zJC9l?*3Vs%!^e_#n3vfHv@$Ubyuez(V|r3eGs+>-+$?ucXKJAgIcCuJG99)hEI2Y6 z>qSRJ{Hzu41+;0DVkQ|~S(EZFd^>E3EL)MG?FD*f&cWWpy$Eo8Jq2;xE1XQh#;t^4 z_0g2qV5lWxud}MpdV+(3Qdck`*L|-d6;pk^?5z1`DWtiB$X((`TYa&*g(VYXO~rJ>y84^x5LzC$*HkvYGZ^=J0$rMdvIA$&jx4_ z6UkWy2H}9@cz{i?SVg1h<@o-j_ zIH>JT%?P_%l`Vt;PnyH{cM$;O7OYB(Sz7ig0u0U0Qv3gVqbLYmb#**!a-PjF%A~oD z53mC1?l1fxqIihjm9dL39hW{zy!%w3@cRSeOx50Lyi5s$&+ry9a+vBX)`m_}hy9p0 zzx|}vvO|m?1}3d^jO%e~6)9OC!U-;s{I>1RXweM`AO?d7GjqjQ&%6x*qCFZ^q4`gj z%~}|kYz#CT0l|_1c`7bwO~4+UgD?6JKK~cZ{B+wu#qQ14%F>sGtL(DUXGP+|nG>C9 zx`vbB2>2J>A}rJxur?pk<_at%+~r}}Lt;vR>GBl=yx>cW-HcRQUl><2$ansmTyg&V zmR$Pnsnd&QevdaH4hgmF`p#@kpa(z^BaRtzeJO=QaXu9GR*6Hw=+EQ#-2u771_R0b zw=~tVxfUX9+eM7+b=AuVn_a=7&dK7^-$vU$C{D4g_@8iyE6JwI9{1iFzsjRkNF079;ornpbHTLwL!%etJW1TJ~eWxCYD+`8VyHIy8r z+5#Ba>&ERf7P(~@#Gp1i0WT4kGH?ra-i>#3AScETD_ZjL%(1?7fp?>x zdkf%bitl4rw|(=TZk`4HuPpzDm016J%njSuX-P10Av5#GulAQ?<$RQ9Y$qg9({PV~ zsPeOWtI@eeXfg!Qe2Ua4VcDXuTzbpVWPDbv+Ri6jdJEAU>}Im^HBJRn)+>%z1&-Nh zI1({$)Zufr7Wap0FrGVfSsiet%3J9{U}880j?SBR8cK}i3?o7ZxvaiB_;mEN1`)Aj ztg=+@Iohy%-DxWjm%-QbtT~cm<#(P_FKSXw5<_;|7x@(rN;>N)vF!V;LhZ_pT^s8$ zTnolwoqWGCcTOm*Of|Mk8^=?M#FmhdV5=ZI`8|i%q6~NECRsJ9oXS`8`hdZYi3}!_ zUY$$>99LNE!T=86ztpik#<8wQ!!|k#lYP6{>s`JhFf5eq^S{Wl*sI&@N?!L6eRf*e zm}F93Ytm%LzwI)40sGF(OydhBV?dGpBCrFgxKB!rUhC(oD_xGNw4&3G4?C$kqpX|& zMi_5>wh>6K2X=~NR!-y4W1f0Bk>>r2NecKZgF((-IzZUuyTWm_RQlavsX@(!_h*S} zz0*<)u#=AQH2p_jm*x4mp0@GiF@?BC&UlWPRIB6q$MSriEYb_EUy#dZSa2m?jGtD$ zjbqJf_fqX2CXz`^XS^u1Vg_`qW1<-ExHbU?@VU_yF(Ihm1$F0sz!tm7n5`JZ=xkee z>vBqCJ!o=)u;9xQs9OvvCjeJGvuqgFSuabde+%jJs);w_u;I6tpC6Ma++!kvP@nwo zQ0Pa4%+g(pd0jN+QniPxK@j#p$i5FV>*7ckgM3p7qPohg_4Ls-LabL@;h&W4(Whmm zGs75*uvQG~7Mv>Hf?b0ha;bz7M_EK#9+gs56Xu%*PO@h+{n zVK4eve@gp!CB^^^#R6$U!in@N&sUGI4t6}$up!^dBJkhk?%e2VV0n8(|8{LZeY&aP zjnH0!5qHDTWrj}4XQO=czv1MzzD(2A)uVK*ynlpoXKzBNAB$sXfWn9g&)zh~aQaWI zXc&honFYQV>s=El!>*I%;drMXC5#$?`MK#NOuR0?F>qK!3JdQn%aTSAY*!%my3lr3 z>$WZ#N!6}IB=4vdV*4oBZp7SF+}m;_YeobHzTHHh29z82BYnXxmptwWQ(<}5;s|cq z=yx(=80c&`LDVkSXf=5n>Ow167h1xT-_A61%`mdy2b1Ax86J>_1r9`geKe+Mkbre? z&tU>TT_kGF+LXN09mu<%<@)M|HvhSE#T%J)@1}z-hQqPP3rZe#MRo2&0KBG~&!$ND z)6oZ(SjBazk{3U9Ns4v0cMXpJ+%KW2X^d@HS2Q8jx?4Rf8dE@X1#*(5cRySSnJR4) z%=X9`^=e!u@31dI?&J7TRWl^fi|cO7^~ErRz<)sSv-E_3_ASn33m}E%7x)2>&4pv? zUmai}$VX11@>lG^3j|2*m_ zc3wAb74aNuv6r$Em!5t^F<;E?T8=uPF1PMG7v8U~L0Oe`#5CQc!+vu7zmE4$2+lo3KkOJ;NEWJzesA5ArGAFG(+Ey zx;tS^3!z{YSOghUb=SX2+_A%6ztMP-ABOn}$B>4zveED1?NaYdVH2 zS{?OZT6iDs#Mkhits>Bj#l2Z@P*s ztFzcG;tT2HD_K9bIgS z{7;nvHy)EoQYEXJVV2}_sz8Z6A1H2igGI{yV|JxWKlhM=q@lIsr_`XPr*F}xW$W6(WCtG)<#mqF5UJwYUFhxmnR8|tMFTJ44U z=%n?nms0nWR=kCrXTAj5cws|3V~z*J9NFlPb)SWs?bs_(VcNJ%Rx6>>1o=t9BRV}m zV4P)XsY1228ISFzDXM)hX^!&l{f-KMsmbndv!-tY`qlm0;Ex>-zp^cb558+_XL5Vq z{iC%0OGzdqhqtp`O1G(XpDu39P7QerX0~Lc7OV8=+=p?`s}`Js)jWq5SwrgP68cC6(>+_M;$57;(^l(>e7HUm0kE8h|GQpME zI1(ZKG!6sj-)YNmXY9!MrGG%8rHb;+gWpZ0zD&5wqBR0Usm&i)+UU;{TK!Si4k;SUT{F~8D7Rvr z1t-gvJF#-qC-Kx0^E$Hpw6QEXBA>9weQ@2v`A5VPvL628)>*n10inpsD^K zA&z@#MuEv^O`oF!!J+!3rXtxm)AVI5bo>J)G~uKR?OWCO$ufJ4a}a~WgBX{TaotjLx||t8lEgcgi;P3bwGjl@EM*+D8{OcC zE+KL}1{!#_5cLRMNtInr4}60qB!U2DfA=z}al9_Kyjm?s@I(Z>uC@m}(i--RB0uMi z>sDtfFX!7je`SE$uS4Pcgw2?LVk_oeV(De&40FFHp&XkC>Z?Pe!^BH3#`QKc#H;uT zS5#AT`&ms4jh|n5{m(^e9*O(Xc2c-nGeZ5YrPG%O!JWSt#%N3^59_0a-bUR4#iFuQ z@8!%Tgad*<1J`fjObmN25Vq^bEOMRaQm(WV7)OilQjql@E~(mGH-!2=MF0q%-5(e@ z(w9v8>XPlSPY44;BQLv|sde!{SQ zL($w9*Ip68r9Uu4($sCS-|qn{3OCLnzdT~cJ6k+Ev00ryLqW4V`C63tp{NhD0 zgtbY9`bZQ>adGG`E*IL;(m6mc!5jM-*`#9tPGJbGG*>%xjTJ9GF}ey>6Z=RA@}Xdz zIz{zIeI3X1427w29<=LUKAZ(g_wU#%Hd+7Q#BkSWK_(nWzxcz=(v4zQwI@@!6Vj}g z6Zr9MJqLAy{T`o}Krg(R#dk~rFv#Gyi2T2QBK`0fNiFus}xV$$0qh zI#IP)Hx7C4m8%!XJu5wTnb0l0?EDHXFj~)S?(n<@?*{)l!(pe0x=Z+z*HfEcg3;e* z$^udQ92;!NqMBgCK!))<7<#`w26hVGeSa2tfpUV$v}$p)nb*u+k-*Wp2FK>~a#$Si zV6O>Priu)0D49xi`yX-32_t(jM)GxMNin6e`J0nbOy=oLDEYchIrKpZo^U>1GTHnxu6i{0TJVroHI^E zXxgIHKO4{EoNw8aSvw`a@T9|3z=EokO-j(Fxf}1wo6`j~{Wi4Z!B{f6xrT^Yx|&9} z<8{4lylr}yX&k+_fZ{#WiG}ckJbG&Ib?fVI*4DNfqs|5BWX?+%zG^Crusx5~H)=eY zR>Q=S3@`dLoV8cYj-`RZY_8N_5#2_EG#x$FDYsB(XeFbHkwBuFY3jnkwit}?_}_8* z`P?%Qg^BD-rc3shFJY|szj&V}g$~&C+8krOQ7HXy5(iT*Nt0WLhkKeF&$M9-+#bVv#0%PN%Hmgi3BYT4xy!^{YDYcf&(jp>s)O0qT*DYQL_UfUW;Av&FQ+7dQuWF z$)5GL#eu}~@e4)*<_W*S1Gke&z!7NoI$oTc^Jm|XYJ!zw+Gt*GXNf_2ony51OWeuJ z-8$o3S%Agh4;_<$fq=l9o*|bhBTs{jn|X{#3NE=FV-OMs!#q&GC9R@1`_q%wzJCbv zx$gy-6{f(%%$e%jO$8!F$Ncm6xlMU#d@A7*7;0Sf4;SkB4I_|myha2pvI_XoPk12P%oQvzGR2A?>$)rnwf{Yyz&fly5 zx)c=ak9%3$W=TIj8BBcx&w4)6xt=)$0S?sM0S>_W z*JLw`9#rgYe^S<%ZPB@QQ&EdzvDYX~lSl{zQ~TjjLyo4XI~1Iw_JJ8K%k8`z+>d{gUt+ z;%FEfpee<&^14q*HyF=sI z+%=UMO|&W(nQbduz1KZlkKZ9?y4wQWEhZ*2I(T!#_d#MvNv!KTRRnQNXOGP(9#+VL z!2e|1|JxbzNgjTmAu2d8Bn1D4LBHv-qlws?yq3&*9`PrVSE|(N6&7!r2}p%46Zk+2 zny^wGQ!F`u65&`{c4ImeZz1N?XR6IAd^znlFZ^>XIbVWBJV3#v$t5)|E01Wg1%y)D z^Um8nqTsid8f}xke_vf;1VT*2a^PR>=H>XJ{u1h~*g~Y@@f(BabPng61(3h*?+OtY zy6EB}cZpJeZmmMwvyEA&D=$PQ)pmpq&kmH3-w3SVUn}A-n_zzf^y^*NofUMmyQcwN zT_rjlW5cDk1`9gH^=z!a);ICnWX>b~)P;`w%=JB~?@+adN#XLSxT>4Go zJDu$ozhA0sUhK!NzNLpgZt=lQtQX0Pp~bA}<)N~$7wz`qdypz1NoN~F<_@fq*I~nP z7Ajgl_C5aY_wygwx7x9oQRGMbF7v+=a`LH?2&ve_oc#I{_~_)r$;KGZy!HraBtY+d zST&cv>5Ek{v{O`r?{!h|#T%Sw{MER7e)xFWOUS7Fa(TENyH4x4mJPlYpn-cFs8!DV=H!6Jy1Cm5Y%Z}B{* zy>n6U>sNcu%_!h%X@8=EZ0oV<5Ts%;BvB{OZ3VqBi7*+mIIV+`*V{U@N;RbCunzSe z`bU-(1m~X%`;j)cjWL*yggkir@_&2A%UrM9?WcDP?CJBZY!Ylm+-zVkBx6{6H|MN2~u19I>(Fg zTn4(j7%4B$w8|YGX7!#2o4HX5`Gvt!vW6yyw6^#K)Gzs7K3QMvC;y!^YBJXk}T*>!TuiU+W^tpJ+7Obn|FJ z_MAyYLF+K-cI(v%smyZk#fR14MPX@^|GCvsVI;bfm?YA(#mUCI^gJ9WxXlw8Y=*AG zXFkBLP{X2ks}@@`l9xGGh_Yy>6kjq3a2f=Y%tp zcyN;uP$&HVk{fydm)vl}lWN3{_zmBkd6{xduPXA_G8boPEU7*}0s68bcLccucJ4)G z1S;;GAC$NZxvE3XOw{pSa&}?jn^{79egJzTxk(yG46L>DxAeN|OV@sO(ipi|#{E>@ zC#k_$N}#bPA)y1he#r>&*aLAc$3@p$gxk@wF_r&~S#3Q_OVw&wGQ(jIGUsS$ah#w!cfDpwjOUX>==?HCv_*<`Y(c z<;$(E_hZYr_D@$m*Yk>;HAkxJ!6n{jEY}C@Gm&4zF=8kfJlEaxk4Wwpak+YU*6gs-D&^87RNpKk z6GLKk5X%EkPo0>EU^%z%&fhpWHkFh}`+e;B!4*h;9QZo7H$gsbn~{isG@7MV%`U#1 z`7>$+J9)vZFCr5+qCIq_OrZIN3@3-<|JBQ(@o&0Z1b}8vv^zt*GK-XaPp=qZ(v3m_ z+S6=}^;GefhkB3m+GJ@G-%({;m23&-h{E9*=>_Z5^y)E05Teu$eA^$c+sQkxZ*Y^t zkwTJob@-0G>YgMYMZ00}wR4igGy)6TnG}NLB=wYiCcu|}7mJdOGUuXq73j9xm{ON< z8ggHURHmU+@TV7RX{K2XMR!bW96i}Yc}@pL>IePGLU54qZm;jNkmgly?46}xXkHHh zt-B`2!T!@Kf|p2NcM856EY9f!m+!NOeYK-3Z9pqpTpB@Fv(c0apsiN8rJ|zwZf4WJT$X>7;yfvr=iHLXn z8f1uG-$7k7tNbTEx}21s#-2Q+l*0TL@JDoN%W#EkWah%p;EPy-29bNi?;wD>!1TKT zs>HHV7mpSs26*LocA&joc`hli$9vfRB{emJN0W3K68v^qV^bd9V&C$H-i%oEd1+GA zpK(-e1uIvnqoQ_Q$aOsx7a=u3W3P3ltO7CktYrj&2mN)+&*vW5IEZ?t_=ys6lNYZH zIE|&ov|NM-Gy&L{B{16}oW*#Juy6F$vizt-6THcoqUm2T+$3g%w{70d zN4_Aotvn+_x%6XNtm!|b==gl1D@onz3h3^BrS8&38DM(lJya9f2EwMHtM8+@?DZpv zdk6u2*+~syej*>l$l0VDe8-B_s{`&x!`p}2E2PD?aZA%$FUl=rYeJRTQUkQtZu7r)hk{k)K%&T-V;URsv^FS@6fKGmVI`C zUcO4pRGhNUUuiU6kG5RJj((>YB;~`HVD-no@O#>JKG8ngTe17;aDcW>&p=n1Gt$XNgxbRekUq=nW!uiStDs5zC^T2#>V#kv%2IHI*HX_9Bjsn^ zjm1ikP7luNIu?C`n5`=cP#~u5P!YDPcZmb0u~%8e#Uz@)LEbNswkSG+_mMjG%CcKP z3(lIx5pnYBB~^k3Xs$dCjko_f=63!WCFPY{e5UlZW=%`i94jR@{K!hgp48kg2()?R zpjT5k5^q+vEVVZ1++n+~u7`ZqW;3B1L2b;kF49c>My;tyyF@B%GuPU;JzwILyJF|d zIzG{qn+}B~E0|1%#xnII0RDM>?S=Yi3C!LP3yeR1&+H4InwGk%4nhn`k*7Uj=$kg* z{V@{njPxt^9n$mvM)TM1$kwlP;)`bsWiG(LQ>urvz4YN_Ek*bBRC|kWgYW)BRRZoe zLzA-h2Vcf%)#u!5YRpAgH4Y}d2h@!Q{wOp@?|;F_bDP{*0)}zz($5w938uOq=HTb>eYjj2-YHdeGHTwj5$s@;~7`AX~hZ) z^(L^`O>+`MEcqy~ZJiAk!AZMsr=z`CsK}kIboI2Wd;tBeh%~%fVO2H@Ax1K&V_;-d z@bXf%TU6PwUscZHQ!i632zgISGCoBlACO%NTbYj$>KK~EB45<7)`MsBJTKOb#9*8c zUOzYz*QJH`roKt7z!imJnb;D&pG4aHt#rkDT$de>@qwuu#t+CEJ}D==F$b_29^21^ zy|QuyrmjSJ*qy^JQDB@1m+qJiln5Ko7FR@87?~{tqK`>!KyY1_tkU%$BjkgmWQ>^Z zH-|I(JqW8XqW>(!-?w8k1pQRtEIHz2Ymw^`Y3%)ZBH{nEG=y=USXhl3jWvgt2R@9juf`+?(eyK2=}(0FE!eVY*czOM@S~%nZ^m6dOZ)>!kBwJ(Y0=k~q9(H)c*wcD&=4lDTId0dng4zM zyH|3P#Y-(%hbkC2wgp2JiGI}vCFJn~f6d?qoUe7p!#=!UmTXLhE#gHB5kiswlS{SP z{Ei}IjbY3|Zr;aS(oSF>qT?Sj(au{vNsEs5 z2|ICOY#}OzB^GTdO7Efemx2p=v;!+BWikgC^D%nY&NKKM&#&oMd1QJbTxEpf9j>!2B3(Exo-WVCT43a;QM6F%@(ocaFL|H1I!$yH72sGj+vTj^a-Ez zn!Xfu$%c^465ETxFqb)!>fNOPYXa>uHk~B`;-69oz2fJhJRuG6YSu3)yanH0_E@R6 zQA=;bWh)2DtwLG@V43+FrY=zv(^Gnm6*U?h8(3G?%J&AV%{8hOpP-#2Ju0=0o62mH zo&vb|h{-O;JXrL(*7v0hEVnc32e(kB1tB7~c<-5aM5=eRz?onl^UI68srnu36(-*l z>eD}#u21pHo(-2sLb1UjvSZG>GqNMZCjNGkTcm?wUL!8=QJf_$mXUx-zk=UrsNJR} zXXTX~6KC~K-L@$Ff#t+!ouh*L1vR=ZJQ{RGAWl87OXW<|8Wl=N?s?3ADhv%)cw=zaC?U1~GXVDs@u{oaTEt{0PBo>;#19z+xP+md77Y3LQ zwZl15&9&xk1MSgl6gWa(jlK4)gl^|G=%Zard<7yHi0Ls1Ejv(<8cau=l?%u64StWkh6NpYgL^|zJM zDPEy67cwb!QaM$3=#Ptp;&3+OIhD4ms9MWpdRozuSq3c2;1QFF>fDEkUcT63E)m$^ zowRr9oNNh`?=5$ye-j@j(R!i;X2+C2_om`Jhrl6(-WHs5hbWw=oa6+MQjrLGRrtMb zm0NGN3<&892-D3S>{z`hP%_$oa?bhsyuS8G8Qq%l#>Z2o`W=V=)igVx^}XJ@g;n0VdOcT$gN=ucR68d5_eU4=GF zFG6pe#%{zml<$|d`^|TSD4l7!)=v1Ne4`z7zE5?eJKxVx!3AcYoC)2_Ruxa$$IO!R zN_XnmPGY6k8q#|6`G=ZI?UrDzOg6k!p8v7byVT`*H`($GILO`fiF8+ zP1X;e$;B_$TGnn@^8Np10I=3h}bOoCl4b_S+^L=(*5Cr%it#9 znRew!eFCivHHS&Sb8Oh%VLh}w(=cG^f?kwXXL~z&Z~W)voPE;f-WUf$%)`?0#sT^e zIhSDl|DE{}{!6D(2m6raQPTu7hflMhA}zjq;gee6c$UB`E>}1myrXkH_@2~#N6Q@J zZGz?jVeMF1PmHMrDfrA2EOj5bFa3P|q{n?{_pmu(&=MN=$E(TBSld)V_xc!>DI`-) zke*e+CI!w*d2{9~3u1WY|EQ?DtUJ6P3S)S!N&{pm4)T2Ka%ua*CvC4Yt@&=*>-vlA!4Dw+}Ieh4qcpq+lvcOKSfsDr_s;E${lo(`#F2e+oH49zD9^{BY zV`lbJ-1hHV!p$TKA*@;FI$*5Gi&vYUb&3N(6ghpAjN8$QLzgOumY$TA)6 z?P2=iADm!Fw2^J;F(6_NX&>R={eES+T-j{(fdrU0W!387(6?)9RAp|qp_YB6#8TG+ zG2~imr)1_G-?yL*z+GO1#O0Ug|9Ui=c}@RUqybQRU4T70LXde+n-pNp_KhU_`tHf& zP+^ zxL2*SrjVb%i2oKkzU04KpALraN0@?-sk;2ogx^a z@Z;0J^OTX~!Lf7`zoMzj5H?;58h@mfDe>F>IgbVJ?0w+g`O5i>j3%wrM+%{02?p_qdWK{`+sr zsM9TJ(b#`!7Xj^@!|0csu5O0g#f;+YEbo@7yn=IH*KTeuRaUs2FwB!d9r%WPwA7W( zX3*NZEP3$*(n?b0{}k6`e@8_sW}Y%qgC8fNwjTJDyBy#MYmmCYoE&oB%#&bLj8;lU z-LPpUrR(w+r^2$(;PmSnZb8P==u{%*z7m*bFHJm;@tcV-OoZv)IG7eWdC%)b5r&uT73YIm0&U zDNpp*$b5Zw3OvH&(mN)k*m-f6TKS!QG8>H!C{#RaZuhSmzST%k>4LT06vE?O3ww(J zKj;Ijx7_4n!IkUw*Rta%BKuQ)?5%$W;NNg^8pnFFwe27N)jDZbyM=~IH@ii7h8R*- zMhe$vrF`x`hf`jrS5QJ8XQ*21FdK}nxKjy39xDzl0QY))&y%b0&d6J+X+&G;_hO#& zx*ju%LWGMjnmsW(PFlKDDR|ZO1?u#|m(^!I{>s1}u8?V}uBl4|yq7 zD`uDl)Px&89oVOUTubUle|{q8&)V|+z4-yUJEy8AV(PpE`vNYDJWgM}I9utE{pEi6 zQMB_W;iRs^7)cr{`A@Y@wbDf6Ki#iC%2o3Wy&7BN(YVN_&yy z*tG^N`f=iqOd}KH|DDM`lQG9PJO25+?srQ_%HtGNx>BeiyF-4M+bq81Rj1<>#{TPC zrlcn{VhlfCoYqL#eG%H6q$>9MS?uYC)o!&Sv)OiC#u2YL?VC)d0-78jgoRFaf9{4dQ`7jw z9Bk^fE?Kd`!Ziz}iUI~Xz2<-wF{7=1eATr534^LrTZaEIC;L6OsPMStA#cSJ-MZ1w zSOugWc00lmpI0i6koQN`XExW5nAU%dewoE$P*u8=SjgJ_ zt;qympFgSVsnf5mc%;VFHjB?fj#tM5Eh5&MB}^17IKNUo&*i@|VUm4nK&%15X7gBP z*rdvEX3)mdr*hB=w1VA0xSR^NDs$}F-@pfsBIk(SuGbR+2I4Dq{x+%KnY6P}*UL529c8r!wk~wB+MC zDEFc^3>_XU%#2{&Q3lV1NHcbW4n(bGS^D$nWUdKS1LYl|)KpR7yXM?%-D!9u((0e> z@xC^LbqM0ds6B!3370gMHNG*0$yeW@EpeO~q1eab68ts#jCV(VH(P=0)h_`ZmSvV> z?Xccy(D26$f8T%KOazDHT)q`G{fk}PNXt3>e4?T&H&*mMc4n|P;1!jkM#bM(WPWph zMtrS-yqi(QyvSm=HQSN9k7G!W(2_wxS}jYH*jjEDlG}>DJU1oExnjN(?hX`suxb+j zKnQbZb3$0!j00uaHR*|7k)oBPFd` zwwp27u{KV+zP0J6?k6E3E%P0`-3*I(0ZNo#tQj;_SysplbSLuFoOKA?;GDsLZ73 z#m8J(o9tiYp&UaCg*%d1$(%&Wu3xlYp8vyu!1TK(T>pJ~!BZ}gBT2}^5dsz*B}?BL zh`C6I+LN-&!&Ej{UCX-IugkkWnt-2z{I0iNpcB4rW9guEy8JGeEQuh*_!#N)II$on7+htP$a{;OwGPIP&x z&S$SpAjixUYS1&w1rJ5?DaPGoY^MrYso*>)4BNbEXPkIMq629{kr*)4UP)~tyo=9a z?3yJZ#KCHf^#H}X&MluELX)A0EC4zs*XHkJ!$RI0cBa8g-46p+52Kw{`~DLTrk8@Y zdCCfo%ZNZ0dZC_sY>U)8({1uee8d9ZgGr-_lOfPfjM+T-QYAX4gkHra^f1U~9{+&J zmqyGh4uo<-%+$|#`e!2*rbPq8t0Ud_v0FRI$Uzmz5xit_rcvT?m){#ZlXw}CVO22J zZF(gTDH$>FY$q^1A;cDFZ{mhnt80b9@*7|niWCXE>C52MpK ztT%-8-iLVoaywyJ@jT}$=67M_UCDJPSHccbAy~gf@~VU67VcWA4JCY#`mfjFd9!e@ z_xs(&SD9^uN{i!g(954ip*slX8^t9s)~&rB^!FB6B?g^r>ww`4x33PbKe-?Cb$Rmn zALQQc#tM{W#2~0~d9TaP^n2F%3%>5vxVAR^nLQ3`Dpf%ek^BA+2qcE>dSM6f6tOPa z-Kep8J~EE1PTed%TNa^8q5T#Sk7=0gUGAh__h~xCjg;FwOey!Z_Rqt)C^wJC>U+Hw zpW2c47-l*~?x}m^dI66|9tqR>f$~O&{bGLXnmyiRHre%AcWmak#!gkNbY4IV z*1cV$pbij>Q}N%ERAu?g?cT|N%i%tSM6!`__vjDz#4|tBfw{wB8E22wzT3_ti>)Et z7e&z=ja=2*HO-OUcBpxAsW3=%`I!HmON2;H{d3in+M&nsygZfnF78Qjn?r0GH$K)P z_}lx(r*VzRgn?^fxx6x7mwv9Jjrw?IF$;4KQdM5L{=USYp^LRkwpfosnTWI1vSELS zqpe_`IW}tWTiqUN@uwk*1c3lmiogs*kC8nO>K3ccuupa$U_AV`4W?8J3l9S^ACGem z-`0yXvf9qQXyTEFgIufTat_CiTaSm!IZitIPZ~%V6qXT=qpc!7oi|4_ivP}kB#tJb z9sPwQvsV;3pcAtv`<{1g0CWJ@Qt6PbuH6=5I%5s-qGUgN2nuo+$9nQ6bEAC&HBF|goP!y$jQ z)&N_t*|c$ldUAII@@e!Q>zCNeDQ}a<4$@Jj_ph_K75gEn7}*3~HXc$TpA#XDN+{3Cxekn#~Vt89<>F_DFMu!TX4gOzFNYmetY?4zT*)!9s3*dvn-g zYI>Tm|Dtb2ZfCP|afqheh(KKC4%;ih!$fMjJ!wvG)&Q)T3ryLfmHlfOTcJd#EmC)n#jv((}LUFK`CAC+C+nZw90hX)1k{mKJ6*hI>p zDy*-f4N?5_)KV=VH%0{9i(9#v5w1-k99xttjxb9~IeercPqy2L4Pj|A3G;h-V9eUX z%Y;5E&Q{1vEw%b~j-1uOy1e2SzQ2hmnySYudWtQNz@<%Qdq^FJtI@RqM*`>I7Y>o9 zY_BQtx6i!ivqS8Q&uiWXYtRXSjZx}XrPvRm^R86Hc#9DarF`(DVa%S4pe zZv-1=iCE-m5^BmVdaPN-LX8TcDnRtPr=(Lr$L^`??$r==YLQFZt(XP2>3oG6bYi}q zulNrOa+~5^9HrIP>5?DQ3#|_fZI@?(jwyss&@nEU3~sYsQfUQ6CyvJe3=#y*R=2Dh z1~deUWI^6%13Jn9{?D(-vz1b^EB_BuXBE~~+jZ;UP^=WExI4v*)8gLZ?(Po3DaGC0 zinq7~3GNQXJvhZ7xbM8*f3lBq6uFYD^^7^^nB&F|xw;L*CZo60DqoxRq8mu%@*FpT zMe+OS(awS_xLfb?R&O*~PuB3+WR$X4XUisPTQ^8f7yq3TY2BR?vn%YgCCHz~=L4T@ zY^s1gupBxOX#7CyFbx6rj~-*_XT&!$@!pVxx--rlIeszYwbaBU)*b0sP%dYqS*lrl z4y~KjQHQ3IdHz>#tf0M-U@e_Egq6f<8^TF*BPTNhcq9X{oUFu%22(qB1_O(`cqfACbWkEUF| z_*%TS>$qO-btRfRbXBw>MZB|fdh#3?fi3D$H8id7ThWg6f0v+Tw=AO_s6$U2E~D^g zdTW0(nJ_33hK<#r1B4VAiF7P<64KbjG)OvhD*>8IXO{LIdAW(KbfE%*%6>}ZZEvEh zqd@1k!g|L6g4FMVXYwoweS_qV=xluDq$JZ$1<$W{fpf0h;gy{0C~oE$ZQpXpEIu^m zm%Uk#?xu!p)Q*u-!4%HcTlR29Cer2J08&z3yOC>y>K?Y10qmQeN`qy6kOiJM19$YC zIxO@!iy)c2zSTU|bLu2K_NL_EDqXJxIoxLr5+e5VK+EiM;l0BB@J*^nsxihJ9+CaEc3go=8b6q0GC5`(&&4ofdR=MyI|z5s*WL6Rmk&z9Chc40(A{t&4@wF|COr(O!82gx=#+jnP) z8(SiDu=ugV>FN%cO=U{h|DvE5{Tg;;a=p^U!Llm#RvKOO0=k~qH;76W&OWoW=`}lo z1nYrU`WuO?(MAm5D`X_W;JX&<(uIbtk{24HbqR4`6r6IGiVdxmK8xjNoy?~#0GSLJRyRf8& z1sUE_9?1%~rz$U5GqNSS22KS0JS%U*o*{LnK`dx!55B}uZDC@)`v`TBP&;h2DyE0g z)0;5H-u2by@6xEq&7Ycy>E#kNE3)hJ#m|z09!Jy^f%l0#b|jXkkA2u14QOb{EmeAa znPs$FPMw$Z0`|RI^`^`6dcxc0im47rf-WaSnY?a-s*0VtoCeh`+s)F^yVn?pLZ4JM ztF#@E>D#$3U4>tElgEjAZch}_*%$m;_`-5FF*KplS<~T<`;{UqpT$?LtPqagV+(C0`^~NpkO|Bd%)wJ7|Oe5Ya%adyuqfs|*(D zyS}r7{J@ImNQ_b5zO!hK&Ppg)eFL_G0)#ca_Cg5_RRjDcd!b~FA#dM*7wVfcpn*)| zNSB6UE~m-Nx`-zmQ5kdYh8R|sO}t5!NCI0}b3`C1Lm{xN()s8#76jX_0uw>c6GkDg z^Lp;Y@6-(~I~7)Wd^&NL@n5h!`U=88BeaAid^X!AlRxM&jJ>C}msgwgum$$!W~*u> zwv;>h9rZb^asqz$51ciXGtwV)dd)Trf3#|NIljd-5Lu33 z>usN}#%{wLa99*3r@_M8_#W4nLz#5|xwu3hSWxSJ>wKdL&EdxUNQ_yW(89)!M!W4i ziQQ_WO-$7BVpSp=v(ZIXiQo0!G+w8r;wS5A%1j}zYNl7~fFXo5CV&9xGB*m#oX&I8-H{tI~CPm&+N?@ePNe$o0qy(xYGzS&Sz?B;S5ek z28I%avbc477WWv>Yu_B)kGKtsP)C-WPieND)K8yPsPQJfq2#{fIG)0AW>Lw?qVtn} zKg0&($T)mc;(qp^`Yp0GXD*JX-DK0bc2g#+DP@5YszrRqI2m%RdHPxaZ`Il${lOR_ zWtzIvpPbuk9z(g%5t)1vwojiYv%$lXv_e5Kq`cCd^R7##e5shBtpd8?La^ezS~V%3 zEvE^c;^k&4u#Sf0)2G`bGIq`tqk@)AzZ;k`*0P++DFSY=$Rl)I@!A`&u!ts($97llpOaZ{oBnx z8i9awMx}lskgddk!0wfrPSCdO#ssh<{m*Yhr)>2hWd5X}aA&ng0%e2{;%9?SOO1k^ z#QSG~B>t26(MCl!?U_=_?`>w{^7baPW6xERGpItK84NtR^>^P!kF>Do=IBoi2uWcM zb0cdmoNeyAc$_zCCw9*pChFN329Q9!L9=3*W%O@d!-ktCPndysz;aTF>lss-LMkYK z>xIVRvC+xG$uGzKoRG>lRcjLw^yTeTqbq$GGMV@s<0s&Uv6C_ni<|dNh+_3yY49(T zbU$|tqvMWag4Bn8cFUw!%39*P*Rk=2*Bnz?)TdDsdm0Cso>BbO(_}aJMJ?NRKuA<` zw*K*tS-z`){WcEs8^0O$g3F{X+WE4KDd?OpN7y8(32B7^$$@-9F^%2Ol&g0P#T?$D zT5GDa-sDEQ+1PvzRc@(kiU8X+MhO;2Em&$(Wj3)tQy|Cv(TI+rbXcb>mtC%IT&u|s ziH^%>_p@F`k2j!gCSG+gsopeoC!<;7V(iCpSr@kLP}4sl=6%Ms-&Z@96XYTy|7E}T8S8%? zEc)%bu?%W{28jbB<}r=i9JhU@de`Nz+$Ybxo#X-FO=;;U?596viN zPCfG4Yz)+;`Xdy-MeHk-n4dDY_55ApTz6^vsu@=CK&7s(d% zJZr~4!y3d{zB8z=AP%w=mWv-nMaBlk!(+u8bXoxbpNM;}V$oXl9IBWI@UwoTIum8u z?|)!4Lc?Y1NIPN#?6nyMJ02h&4H3E8V#*hM0E9uqK2!&&hEZb2;+0X^ppSHYk0G%-DA`DwhdVoX8Vdyhkw;S`~0Z=DNXy zB}S3(JC=LIn3PF|VN)=3a&iu?=GZ;L*6CKL-%Z~7Zw8}OiWcCwz)b@KE) zD93*9WyW;%)$>ld`P;8RNPsI0Umh*?<~&?bXes-{2&RoW?jUbL^9W=Z?(D-ODX=lp za9a~g>;~na1vDOI7Z$N<3WWPaZbIARX8sr6i;owXrrp%KB|iX~=#UysNV(BwHWZW8 z%*k4T0o-X?oLCaJTF_@fmsgJI8j-u4sqt!Qv{{F~nVqu&Xj$S!1I`9p!B1r2NN7o$ zRQ+=BMwH^HSYP0&5E&B0ozwf);}Is;{ikm2?-mTKEUm1nIv+Ju&L`PWXyK@LZwyX- zuZoQnJUqN!z`rL#8J|u}T@-zm-CTQ9D!5>8+mO;v!ZW4cwaZ4UV%@0%2Y!rSMg(C6U z%f-cPK1Q?(SN_+WLlxr>!{Wsc4NV=-m(sxdt?<1CJ*Orwu}9-DHWG0|%ChePGELZ} zDGpr*B15tK@0M&GShS^aWL30R;Rt%P30>jFR94P_A&T_e|jRWOW6y_Or7TQK< zuk%?2KPBkRMr&M(+=&(-^#0ikej-niq44ex5?`6^N84d#2RMj#a8KS>jAv{S@Wy=P zpIlREC`bAR{I_WWg_SWGD8VBu$`AA*QulX{$4<2(5ZRs0FMXIxNZvszSVAYxZa@`a zI^J&9yrWG(pegFAXko7@fI7QR5Rq=uB`G$5?wU-%T>{Yo$ z7ac|CRdAYGb!&`tFmdF3M19;TSicw==VfD*%}`!p>WL@@%jP8{wBKG;+d**QhL(OJP*V#h%*X!uy~s6A4xX4_O z)hmAvqn#&~<$15@i+CMP*98QBdJg)*BDV z*L_CwcGt6rQ^BDnTm@c%2;7PB7ediC-tkCuFHg70^JAKs+m9_palGiAjq0~!cy5q3 z#W9kN2+c6}H9Qa}N;KRXbWy0pVr-ww|B-u8>~7twrj;jfH&JHy4E$zm%o|*{fX>m$ zTBX;_rxR%(j;&ca&BI7hM$0hvle6e1+gB+svvS(0fpN1S1Up?yL5sK+Jp;WQv35+f zaL?lV>J)GQ$}32KVbkd$TqoSd#V>rmrf1JdBb&`zBXWLtD zVpv_E$c8E68Q@ zCmOE(77n`WZw>nA%N4slq*Q-xXe=?O{$3J@&;ez zc#3#~6p3+uY^5)Q&WzA?*=EnCvS^L1=GywdmrBM$;F;?c~=9rCj5#lgbDE7HyB zY>>Wm-Yg_gv^LwRyBx(c(CaYO^`RtP?z1}eR=pn@zNLJn`oWn+sO5m~O_SEh-ysT) z%vPj*rC(fl$>@O|!8rlFBfk(BnIiRG#hdTL(;|{M8 zvv@J{yg5&X^8}Z^A-R<^jOALN!uJk0qlVi3Sh-9)26o*5) z#-vU4de2qXUMV}H<~cGzm}AAB84YzOtwBH*#_G756oSsFsbtz4!4|sRg$ux}+VyL! zPJeaIR|>C6o>epXOtSE-2;>=?wFfcCsTK`xP)4ShK%pi(gUV^?MnDPA6Gcv~an^nd z7j6RZxRpXvmkZa@X-%{;u*(LEu^t}5`B9#2Vjd0hTmbcIbAM44m#Zad zHlHqdUA`JV$k0&TH{uRs$A;Mnk3Hq!a=_8i9nLH0Vzu;mKrVw_d%i|CKKgOt>@A67 zj=I5PE)H!~d83ir(7cv&W0$GN5Idm*P0}g6{^62 z=?3`3`%}js4)X18&_7KkK9=SH+~P%Ug>*G_Twjs85}P6ZGI4^Bvdc{jI?95lh&o-s zs$IhUj3*JmH@h_5c9htBYB$k)ZR*F|TQ<#wo{L%yE7His}#DQnZ;6jmxTW%mrsef4O}-fq>)fRaQ!=OJOZ{CBC~-wydU< zQl%`pd{G!hp`FUUNe1AUFC2;+GXOSx-him5Y`8YAIRsz9qo|ZpMlT$kXV5h8X}q-+DqRKHkdIoXTe@hZfc6c zok}0{!48T>q<(r=!jf&bC?|Z4Y%+~P)e`v@bqW_lF!1Tn(FYwN>*@D)2$y;bQ+Nc_ z4U!Lwun;cMd-1n6Bwp<}@s=PGPQThygJV{YrkZJ2WPRc5O$m%jQ&m}Fko|_dr@b7= zRJ^V;Sqj|;`}lW-8pBxrdFL#im7E^m>NbY3V!|zKsd*H-V_;xL=D+0>XhzB9PsWmJ zgTml<=e^pH05Dp8{p)k4AF*hgpTJZk6PplD;nO|iHf8k63~Q@!MjNm$qSz7_`~$TU zrpnfA_)lQ+Iy!B+cxSvgC?Ov|1(mb1x8AlvK2j7sBTuspnjyT@aq%xyo~ln8fB8z1 zXjU8<>6HyS)u2E5gsygmN&a~l;0o<0@8yTM7m3;wVO7x}J8(9%^^0)$zc;4oeo_ha z3CnSvser;z2_)LxKceHvR>xlM-XR++Ezgk>61ftvu#9;pY^Wp{X{%KdDW970K% zwE^evGx|dyKciiCrLkxC-3wRRjzJqaW%HWnpLxRe@By|0h8t1OYodn<;K6Eh!ucF; z_gOJhGA4#J@-}m7{lF~R4$g**asu+o;1IWHqbQo)9-7(U3Oq5v@if1~YW=+C;1wIe zzwsyY>XFMY{wQO(*kU#o?n9?u*?a4tQ*foe^T7F#wT-XWF}DWv*-d3^FWsPcaqV>k zh1|O!$90rxe?RAvzJQ-5!Jxu-Pbn2;QQxC!M3{iLC;IREwD?pmpC#jmzNW>cmUxk= zrc4${n!=)E2OSMq9O@c9QL>lNLu2s-S}&#iVO6RupsiV>>*R{0^Yv90(ulw?5`w*E z_e2_a@w#ehlGEt$hpoTclwSZ?Hd4~TWCNnK={vefdrKkn-Mv50p@azBetrq4OXc== z$`|!l1krG##bj@q4CV}Pg_HXX-wNG6f00d@|8jqh*2(dQp?V;4fWTsu@Ht3K8#N@_ z?`v9IWRiL(jg>B+jjiuoJy99(SQAQ230t!A~{;TF#(O~UWmt}~T|q55F> z>sdvwtVU?>=g!`V+vJ=Irx4!A;8!h#XbkOs>9}^M=}Cj$M{z8)fstx_>)#M3kqV0Fy!)@WYv?De^bfNZ8uAgE31%c24J2wae_yc2N|jj z#SH2?JN(y!&n1dOd8o>Wjr_@L$4vi-fN!%ro;1>5CSe6g?vO3P;wZi#DABrgG|cZK z?#tnVUNIZFp?kpJYN?N{SA%+Vy4uW5E0$L?s(alq1)8X}%I6(q&BiU7#b9@d_uYW5 zrv0J*);D)IA*5_Y_;|VkWo#jK)jda#VJwZc8L5hFr5WTO3-LMCxRTvw^(>Rup?Z3> zl9LO_)Hyj@0nG{%axxsRG=XD#mZ8Skap=p0`M`RLKJoDoZA2yF>2zRFsOTq{PI)Z- zFd7)NNS)nPn{c~kl*^<*IN8wAc^RXbkZ-r6&+7TN6v1CkB)+&`rDSIofHB=Zn zU6hob$)Yx>#N~vos$;hbUh~;GooQYaw<)}e93uB0eGKcc(Q)0DD;o}rm9x}--vdn# ztrRRniut5d3HjpH{KkWV_YJ1g5Rtmiy6F6TOr@AwB3acanw6JjDY$1M*%yAC0QJ;x z7hK(p9r}Qh3=@n!wZn*O0~VYGHJ)*Wrn&JNEAqCTcF70w;-(^tPxBr@;Fg}K<>DN{ zzejbFg~^D!9=H@D+rM=fNKaz-Q;+vn9*X|aU@LA=YvA|Ww$`@)tDI87b8*ACM=wY3 z|1rS+4qMzLBOK6ec~*D~al`#YltiPr$6$s?6yMFO$3}tOVupM|JJm0vZ@7$HaEuU> zMMUvVA>tXzez-aOb52DbO&GgK%`k5SP2X*=WQ9uplltDvkEDae z@|Ja9RyT4iWipF=MtWnI1%WHy3fk>)he657Ub^0&RrJRS1q3wCu}f)CA?)(sTn?0y zeJ)ioGXso-$dfPK7$-lyJan_C2~L{c=^%KL#S4&c$p#H6i`?+MYzPXxgo`CS_rgEC zVk;-pu@HW&1$*2P?48=Kjyc0XJv`hM?=(ib$^Buh=BA`p7AfSrQ#*M+668I!&#Kz$ zmH_%FRt~>#3}RY^G}d}h=tr=qKX|OPxT)S_m7bW>HKK`Q2C3^_upg6klyAx{^7#rD z&^MavwZR_PaWDmaI@UL5(y*+)ymJ+Sf_(ssX%UWE}6^1_qM=Ll+qXE&)k z*5};eYnA_1SbGZo9B@s*62zG;gK*!q}$?-_Wn`HAsY`?J91ee&+a zB7}?OwetmeI18VJ4FYIwiP4l!oO$+B%d1xsDuFVmh3k?YFgy_x~wviyKHB~yT4?F!j+O&5YoV|zIThtM~2T#7|MUwi96)$9Dz zgeZ`Oh!D5YKb*B-u}5L!ba8!A$2AVKNHpl5UtiMUu?hDy8V`+`GA}Qfy0mbEd9?N(kE@%w5DIh~Y^&HLQByssuD;ju%F zNBM;S=i|j^&&KEH1F>X22VEN=53IZ5^Yv)YLSx_OIm0Zj&g=2!lL)E zEtGJS<{;k-l;eNR!rXkfyN-~yRGn$+aOKGd27SLQnT}$h|4n~g17T(i~W`>EQvF@(H>?X@7PmrSTbl99jWa5W4pG5+PqSw z+jjf8+{j7o`D7V0!HBKv?S*$g5)e>^ZP?}-%VV=4pVjP0BjR(*$AQ{d0wW^ygT_8T zjpr*!>C~O_FV$#yH2}gEb!6Yq`{W4k83T{ku^qmX6SNgc$7!{;>r-zrM`|p{pBuhR zn5G9T3|6i&@K1-w){53!m%n0XNb6F1F4R^yjw|SvF{-^OBU_$ z9c^p+!zMC3U7=QH>uX?-9*Olmb3pWOz!s^Yl_tB+mqGK(cBy@7Vjb7Mo4|62W*Fx% zL%tt1nMN9q-Hg7n$ew#9&!u>#h+7=oER76CGVsbncz{$DrQiFvG3ipV9J)=#PD}pF ziPiq0MQ9ohH2!)c;Mf6~i_>uEg~bB>FQ3ENa66ab*_Zp@@GnWn*|&rwgNZBooau`$ z6D{9q=xkn)Kc1V840Lp@yVbZ06_iclx|9Fn0y@e6zBFC+WOJZ8n%NtxWKVp%j<)YW zRN^PFgGf!Xo`uCena0-FB+-ET@b;=Bn zk9pIhMO4{h1a@KuIjJ1Hg6U|-YmCKRWACo)MT47TdVg@qjj<+VSPK0zOa7XBr=c!G z$1T(+PC$?-IXYTpWa=o@rIJ5ks=AA?LqPxz)se*clloiATpn0FW=Nux7uVG+wX-Yfg%4cqxy|1d9ZwGyJ*H{Bf_u+7pOd^i<1T zOS*T79WxSn0pMZhUAQa5LB8SWxsF461tJm?yx=`HJ(@a{Ku6nBQm#Epxz${D;Ifpe zy0+y8F8cLrUW$7%?=`-+0)N&^6WS*herSELG(Q$pOu3nkAnR#Af@ zc}JG~aq}4WsId+eKnrk1HS1A%zCBPJZb|>_vco_1zFp6(8pk_q^UUom;LQs$e`D&` zTlMDg&&}gn&Y;~dC4tCG7V{MExNn2aRVQ~pqH6*S8{W@3^@`PWy|$71{3~>Q!3?Yg z-4B~#k6CCLFcTWN6oOJRnsQ$eP>3i;5!-lb)REoKX)0Dd<$#8TF(h1))m{6x6F>EY z0iS#2t?}Miv;?Jyf7HYJ#Fi#{IBd-w&fvR$l?dzRZe=3&_mr(?ZFWtx`Xaqg7hC{} z&FljYik5Jp0|{&q?ar(9B8$5`^B2p~eNNUs8H^+u@(!b9HH(FA1e9CC+ZbvGSmshz zYmWK0nA4=6&0=XsrD3bIbAHs1dPWW-O*TFDS$dT^DYBEpg+e7goqFTKJ*SzL%gGsq zJtUXwb0Kj@@Sdkyni;0lm1(Vt-rz6%KVV#y&&qiLN1WiW?e{?#ca4e|M7y}K-35Wx z%P_I!P8RKIlN*$8|E1Jt@=vu|Si%D`z{aoo2(fh={`(bWN+$1|mp}##FvD~Q6mavN z*SNWsQf5|oK_CB@tSP^>H|hIfak&ZtK`_1y*$q-5kW7$=E@VN zP}XrPF_%=E^+xjLV?wFQ)|P=ir#0wRZ68*$7{ovQ66b+#x(EKqROjy4=uP*m?P>~{ zx{$Ij3p;%bAafC!?f~d%aSW4rI1LfHJ6)gsPo;S0Urix+er)E2Am3TlWoPh-x-1$5 z*439`0ybQ)(+Ut-uP7-TTlWZFj-e)oRQ8urP2}sQ)I}|(FAWj(Kew|6e17HnLj7?M zikI&Q-#^qsFCo#%19H!oPp`O+g?Nkle(V!IeZQuCTi_Sn%oEA4Gd~|9^&cxVSSqaR!g&i6yoq$kp2h1N`&BaVX_0=^9~1O!fa z{J<9!mLu*N1CU%ON=s*nO!)>-;de1%-?`k8sX8znWJ|OA$M8RA6y>!@cgE_I0MkQl zwZ|H;i-EWWfG^M28}l$RDI5vtv%C}LM=t#|HeGw)-6Qd@%wv7XCrJ$6(`D~k zW^i32tnZk#IyN7E2W#mI0tsAg7Vdaj9%q-RSYxRM1=BROlw*>SF^S6^tW#g;l>kyf zkvHx8U1j_Zr0P?4>;@MYENcQPy9PTp6!A%?*%i>)^Zb!3KXkxy-e0?U{1tF$lf9Xr zo_d&;f{!lf`cO#riI(h-4KNY8)69&=A-Uz3ImDgJdEpItDObc7)JoDkb$l?|4% zXYl_iRUt;@ueNh-wIZ$f+PXPw#u141aB!5rxOrs}E&EXLL31boCvlZxjY;QHJctwt zU`qO-|jli@}rN z4=0r2KOx6<@fxG5_OBt;ig)1-TPT#MN*oME2W5MyNfmc>OB~D`X*19d*^9M|IGY5uJ6EX2 zcMaw3b2w&BD&z5D@$IhvE31ttZ)Y4S0ULw6XRQavcbzxTuLqj{oD$gVJ^HA>6I5#) z5}Dq27pf*0Fm6H1cg+cjV9pZw5R?r#(p#?4v4%m&Wf#J`|0W5KJpZea|FMSK`~Jor zk8A(Ez|>B8Ac%jbZsCKdJuy2}U(A<9Usu2GlgBh)xL$8FkHYnqd|zH=VU7~|=ei=@szGfv45 zD`0PKNg7^JSv}Z_4nEict z^g$QR{dEArix<+-Fp5!GEF3L1Gq5(&4O`G3r#AXnA;^GrjJ@q&^Fn9NN)OX-e?aBG znUZMQ^EIkM*;ZPIWm*K3yX4TZ{o|i{43~dh8yZdDG#ShqjNX_b4y^N-q!FFFhHb@T4Gs7*8v`9)5e~3#NZ499wgDrU%d;O-P^C&xQ zUHz?r-hljg>J(__7bPTHc?jSTp7Nbe_tW<|9B_s0vFP~qtLbV|&hz4PSvwmwjNARK zkJQn-Wc~UGv(u)=oeB{bJk3(PDL&pDI(1jmkFcs*`vt*4M4wR`^gjx@{>%wDx-;LK zv9NrY2U)P_^%xRIWr4MB^G@ap8yao@>i*|Qg&k9E=9U5pxaePQ1@+sl^I)5zkU@%^FrtMq0H42 zv>@Q!1joD1Dk_KogrXMgwCZ{d>}IFpGz?mUApn;2F?Tcx72pUKD8tp%W--d+2@}`N zzFpq$#2<5*gVd10&;S0WM2%u3FcFAlw}0(0Y#4S*Nq($G;b41xgjDBWNRqQsy!yJ- ze~uIj=o0m*$%q@$%6E+Zdj1m9%|6v~4yL#j38V>dra_w9d}N_I7xmXaVEB7ay+%=M zw^z_n&$N5vW%@8JW*Qt(@@^ryQD8J2juIM%gyEPN>WkfcoAVT^bJiDW9_b9>aozhh zV6_Xkj_i74Vq*%2<$F&|F(>aSs3#F&UR-M3GeFC0QAX-^lDP7guCo%6K0v4KUZdBf zD)#5l3=VD&hXc3M`-P*7&x4JT2h7Al%S_B6={c6%keQm^y&^CJm(t=l8M%vg0nfv>kJ>S z>*zPAx6hyW(f-xq0yC-A=2oGUKN6 zA6c6FHJ6WBPnM^#F=u4NTdN@MSX(P0RuI1^|NTqhsngK8(aRC3z`p{CaSIkF-Hq)l z)p{kZ0jrjg&snb$B`IX5VU}UfEzs%4f20@D!3J7C+V>dAWdV3UIf(x|L%u$D-qg)$ zP}lx(+q?HL>N;}~fo2O@k`~I?UUuOuy--IRpq!M-*H2=zcb$BASl38DeE$7SUIE}4 zOTUC>?3hSU&h;vaj-g93N`jMVffGF% zGR8v9N3r#EJ!Q|4fVzDae~a?Z=Uvb`Y(o6+>hLOfJeI+_a@I ztJ`;%_-0;d^12M#c0!h7(AIpcljCg~>p zr^VKN*W^H=XyZQ)S3(bTXY2V2otH| zsez+kE6gmIOT0+U^!%#7Wh^ddo=qz({st+J!g($0;T$X7D-@}VhQ6)!qIDu*gF*Y9 zu>)yd9pg>}eBCtwmg2~6fkjIAuLPk8J?MI@iAKJs_|?`z=sI958F`+!7Umkh?sVb0 z&EBq|uUJCy^Ri6uBBC-RX;#=-ewC^_zw=W{2U!t#BrpJwY7mFo((k6vFW4!`<>+e| z-BqswatB_^jjM9Hv7(9IlKAVv|*gdCeigwhwM zzA&Mk~Y^>x_hb#EE1ozJ5&`f}UhIv&X#E#zoN1CCPt;B^19HO{tuvh|#KWEwDQ2Vv6CDg+wR6&#cPj!U9>&JFjtCZQg~bhBCZwI84{mYp z_I3!X-irmd6a>=$_wf0R)wr3H&hSk*+8_=HL~^}b4@?z0Zy(ctcs=vdTE%I5*w@>u z3GC1cczZhDn^E9cy!EbwCG9#u55(SDn zP@lfS8~{_q0}tzvJJ>=g!cr51z*hI&GbZL*QMd#XL+H9MvEBX-@)zS71{F8 zaYdn`fi7DtZ7x>@Lz%b7E^IdQBGF^N^L|1`4sO$|iq!KT4{UX_tQBF;w?7gCE=TxP z2$EWSb8L?-*p6N6<=GLM<-0N(X+-Lu>uN~BsMcZa(W=rWs-#Ilaw1DC5vDyPH;W!f z39hf_+D%bY=887hbqO$x8>!o-7FS)|M@tc^w+ZZK-^qA^1G9@%SIUJj9bm@(eIp$y zcr9D!j%Ysr=W)CFGCKSw9A0s(q%46@lUNMUQ$$YTWjm6DBxntY{{(uh7K;CChNep@`UP07l%=G)| zi@c)#+AcdIneqdX)R&mxH*({2;7p##6M`q4n*wc$5$$(YyRpW=U7uERT-Z+HeA6|&dm_-Xo6JR|m^pCb!h+zJkw;d*;)^O}*`cK~mcxo!s(u{cf2b z?Qxn2hmFv|SX(NEwciO)$9BP1{hJgL<XrDn0I?*V(L%27{F+b6P4@YDIiWU z09=Yg+IbO2zt#)^r&4y_FnZ?X7s>|llYROIst)GhAg?@hj4ZsEn*1dBT~jJFH5s>4 zbj9gjuj}2_qNEHj5#RN7#?*?5iA^ku>glokXt3+Hi;Al} zOsnyOg^O~#fiKhyWi%p`q7!vzUY|mLg`~{pt-s-wjKvI9oN&h7t?~f7q{COOaY9`O zxayG?54m#4;Y>yGj9uJ@1UG*OHUJYaq?2nc+#G(gq_Ji2ZGYbSxX_hgbH?)BleL=a zBSvnNLXN#TN9QBRV3?2cv2*lGknN09H1ahGB#dGyEHG8oO?#!77>9P|PzX!7|7uMz=C^iz+>zA9P7iCFrSKmYUGGU&RN8X~M((HG zs4(PwRezEB3lM)^$oJ237(WzEa|><6owYV|y%8Uih(Qo?-h2(-;{6#gXe zFez}lzy_sK9rPCrpLs~MT!l9)%~|sUpAK?3_FzT3whsOfJ%%JqWOe!&^XC!X87QF~ z)@VE&_ZZ|?dlQ3SlMmKD`t^Mm?w=+6$?@@jH`O#TznzB(1n?~u4c5`({AH)`{uJ5w zXnLy~-iQsXxT~JUuCo9CzKZZ~mdN+DqnjPwx~Bbzi;0QFGbn6QUVWpfW4eZ z?Vr2tZgv@c<{h+1DH~n&{jCV31lBah1)x@ETwipbi3m1vM$h&)r#b~6($v97yFDL> zT7@rPV$@h_uMe5)lrQ|Z2VvWL<^LR;6D5PL1BvMjc_a`Hrqy)qi^w%e!XQ$M&IrR$ zAiQ8vl(Tw0_m%pj=FyXPqlj<0k2X4O*58643@b9?`ncQc3xmIwP8 zt~e!(xJub_OeXj{qdhNt0~p-XZ!O|k9}ct0%7rLC%fPt82_N9-w@d)}6F%|D;K#4+~(so`TsU8i5< z;ZJkB$$yg%7s(ZpUMr#R1$yw<%cMkAekdXJfB5zeImR};=gtLF7C2)F_d_J`f*jBi z47b2;%hs9yd>=kjFU9RHI;npRy`8TsL}H}U|(d3vaO(ywG#w_e>Oh?u}C^^X`-npkb2 zUnLJNO6eav(&ogs^5^-mGRA|%`!FTP# zoOxS1{+q`DPZ5_XYI(}H_JJ|9zghVvFA*qSz%(LRZZ4$}af24VJnUV{cLPWFozWNV z^NF32Gl?`WETcm|s2%bjS08OVohTN@i4%joGZ`PaUU)7IpI2k$W~E7kTC`8<&vW3K z9{v9xQ*YVU2G@n#1}IXr6pCAMr+9HF?k>SCxKrEL0-#C1@huis*)9k6$lmg+jk{$82O*09W2_&+opF|BCy^WJy%L6F(2!lTR`9FOg2nc&RuJW_``S=bbxAx){ zsen*fw`|j$Eb{ze150J-ocVgZ$*C|};Wjb>|L3)xJBG~QmRylhHq znVVOkl8`4T^81y5Fjkrx)r{RiDBV?4+f1x7Jv;S_k}ndazw*$8gbls+plxTnu%g(V z5lZ+|Ef&`NB`Bk-K59R07<3?r&r0eBZaECMV~+iU}@RF<)8k z>Fxe1?@w18dw7>D{LR(zRf7AB=J*Ly5R8AIcVQHfJeL zN*%wefpz@FJJT|X1nY5gu28QYq3fb(*NvPg%OjEC#^dA&CEQO;yzBZF(B@C~->UA0!^Qyh)$N@W}NjJt1Y4l$6U1t9*R|vNf7@Kv*bq(EV1{1ly zMc^aAe@CZ*)oVqx8)*OU{M8A8t=#?B5SXM(Fp-LaoAZN6?g%_m?Gc!x8T3y4KsgKl zM=N-=n+K<6fm~7W-1B3^rIB;9Iq$)u!W+uPO#jmA^f?k=ZXWWB0ZY#-2sn&YTR+1l zQ>*ii->1LH-(p+1?5MTbrc#T)kH#$$VypRqw=g+UXx32xJ6SEc%-Gm$6FlOcDv!4yyo$0Wd7h9GpfjIRDAXc z8~Lv1BuPCD{%}FF|FGh33VP}{WxBh0Znp(7gq$1#dV2a=OQ(aCE^U!izFn$E16{m0 zSa4$Kc-d8Pdz?EEH*rPbs|uH zu&k1!w-&`1kx2mA{3xVSceF97b?R-Fw$0NZq6qfw)i`E2N094X4troC$|t{vr%MBN z&R7YC>p4#4QORWeaw8K{qXsteKCs0(vN8EdLp926r{;ryV`3<@LFjWo*B30qFb}(L zmBG_i-|PG>MPv}jRliyZtN8v-KWEW8IA=%D4^)AFjK6b5_HL=&`fI?2;~C@Ge2P3( z5Zt)k!wt}bBK}g~w^t1<8eaQUreKnb)a4b;rAs_}_nC4|)#)?E^aW|e-BYh%k3DTE zKd!rlSkY#|F5njvBjdDVoZ*ULg*zpq*;NMk?_P*yMaEI7qAZ+_JW+W1nX1&r3b@k2`wx_js|5Of(}VpI*%{M9ZdhR}Uf;a)-q zf2Ol`!Eqb;mi`lh;ZD$FB5~4^;QrBSF#Q@G+39nBkjGnLGX7__qX<5BWpwzR>?xPt z?^Q`*HyGhPY)BM$H)0eqc*Ybvfma#Lx5|b+cZdb{OSq%Xk~F^cXPm6Ul|Im0^m8%! z)L2Y^A~;m*^6SZ-{dQ&Obx;-jQiCz?T2sqeX9<2decVpWgXa-%jHDLam>1vvrBn<3 zb_AhJ?^QhFhbg(?EJ`@Yj(yUDC>fA?GlE)N{_Av*x) z7jdALujbdeCSBKGTH!d*>)k*-lpjXZ4aHd>j?QBp(;te!XPXGey*Om_7ZO0-_7_6G z?AB5Zz9GNUIHXqtb8P3jAxuYje|Dr3aK7WoilZ;#ae?dsf{n7#g|S$7YCt2 zr1IXe|FD!g!q$F7GFVxJqVB?w=g-UJ#yD>|Po$S?!LbHEP+;4i?4E{JKk41`+wJQrvZbh|OV8KAIQE#R z%$;4VJ(T^Q@`PQQwtCXhI~Q-{{WjU^43K1}3iLLk+r#IrUn>qE`XXlL!*ge?^@Cyt z&@V&{naeuED_IHJ?rcFW$E819X|;&FfxIk zOgC8SYzqp1{pvnhMYDeTqm=5H775z7Sk_ND6uP-{+goRUw7l}#h)h7%6pl=(dINhk zZrXj3;&X|VB|7CELX{4`6;>RA*?U_70E0aSZ^SCP=}Iw}!p{C9`UQKmG2B~kzV=p{ zR+CWQ_G~5X|AHQ(Q4FvZA4t$!a5e?Imy7GXMD1`b+1pCrln1kCE#?Mp1{nV-f%1cE zLD7?9_@3~`R6U18nH3`m)a=9^7`DWG@tM+VwvY>AQZnWv%ZR#}%xlyxmA_ngd1x1< zLAOV5U(;6&TL-UyNd1!8oZ&t4R(Bajv9>PseN3@d(@)DSL6=W&R0Iu#oymkn+ZRYC z&_cUAZkP7RCHr6zLP)A*k^DcjsqE|@m(6FaRe$!s2c>32H5M(f&8DL0bVf7_HryK> z0PlgjsB)@+Pmn??m!|*I?`)Y(GC%Xn2Wmd25e;C2X(5UKQqvxc1l8mM_@vuqlJJv& zZv_b@;Bj?xtb+6FfO3Gv0UaAX#pDAdbw;D=pJYO}(T)M;@?%#?jyGrP4lYsz!)NB? zj{VZ^6c^k=BY$Z6?&&R@(7F6kmDVY`-0I)PkM(aPQGH|%FA7u@k6`W9w0jO9Fed223D)lP z5)Jl%Q;vio=i7#I(sXa!M#{US1^c4j?XMx@Li-CPi!!7wa;q8WS-8GqILySE1`5(U z+Br+>UrYvO+5ryp2=>T==J$>ZQ*erbZDvnhXlM97!i%-eD4{1>~h^3%VpV~a%9J6NN=EI)Kg zULMX&2rWv{qke#kzCu28jhXZZceC~k+U7VYh!lWcV1qmr1cyJ@MZ<`l+7WFAe&CSW zPrbwN$%(MAvaO}3*cPvJ9tiOFFadvzbR{=>uBH$#@=Dyd_tUZHeS+v&V zZD}T0z#@d!z9s3q<$S>;OYM1o_s%D66ij;V7Rha#E5f@GvLedQj2F#d(t;RRSxq-n z7XWo@*z`6z7hkzX2y7dwK0a26TD>Mb7C1GyJ3_<5f_tG>6F_lDhQ+`f{c$5g zZhyVE?X@bf-hYezaHcc={^udzX=?c3C08vD>p4VJuwHMcp}iZ;xpcqqGmw%yR+^k# z!v7>K2@Z+~?T%;DMwV)>-C@DkhP^8TK6(n5I9fVG+xN0_?f*S>&sqEU7Kv861YE{N z>e#9ynZJ4i`w*%QH-_g@48x_7hi{KdG*(1Cg*cBv7e)e6(M5#L?M9#pig#pXfOml)r+EO2ocPxIJK%UJC1{c1M z*c+Yn_b;_uY9C|9#meAO4aFcf6-CBtAYE-tfSGlV9@+nG)+uE2D>8{tGn81v)H%|_ zV>7ZUhBf2lOe1+}S}K${(u#=%4a5!VY;l&^eoB}EdnhHP>Y0ikNirI% zC?ht3Sa>qkpTBATa3@1{gClZs!!L8E2nNOg$1nvYKlOI)VUgXkikF!J>;k=RW@knj zCUyD20JAtW`j73V-@3P!v(w{Mf`O?v!psKVeYN8!#iYm%SAPKn#Titda7z3J0N7z1 ztKDURO1y`^(3UaVIYb`e2X9PgZGlL84_ONuoLGq#VpsI~WexkGG}+Ss$k42H-9Nnt zbb}@71m!mXGqMOapFHHTPBGabu1u6!c-HT>t0{>sf@f_LO( zIr=Py!c`$-ySTR_Naz&2^(6LH&XfxP5x6a=xk42jb#VTLQ1P+EM_L}Q+)fnwINugm z7AC6MPRs5rzeTq+VJAZ@e{DwPgU3$4JI|NttGqrXuO}~r?X#(zeE_vD0%`PE$19GvMM=FcK?bKYoy)%SYtl6QoUDhA;A`1veUFpg!qoi9U~G^X1ZO|n+vUj$A{wV>L(+1m&levsgdpFk ze;@ja=?JtqVnBIi>baEl6R?%QOYBjw=z}13301Xd#h$l2zB=#d?zldrBHicvqQ6c% zz_~Yo|Kd2`|7tqwB8?Gw5Z^;RS;x%lW;cm;P$Ll(~f7ZRD>zB>Qx(i@I|C z!B+2jN$)FCB2-jDgd;zif%3`|0Y1|c>1;YCrJ4RNVq|v~wukh6q7}pT@i?q(Bl$9U zWg%E=0*OUAe-iaYIAfWj>qwU5{^6cEk2Oq4eOZSsVImDp(QGu&-h=DSCIy}`{fd^4I_uu z+(j8gD}6;Dh&rUOS040+@ph>eofJDHdT38U24pHY0a(KLFaEX<>ui$RBPE+9p1bNX}|3S6D@0HmVpk|TE{4>ehZaOjEPGg^8#7egkQg{`7NICx6mi+ zD9RZ6T=Maq7C6c`=P7t!9Wv-Oog_M;ILYiCj#kC(XZwrwLR9&n=lPI?nEgZQyf0t< zS(Ej>TiPEtkVhmYN-Odd=x`7vU8e3BW;%iL){C_jUr(2Ywd`w(Plw{DXc!oVX*Co) zkuXWD(2;*Dr1L1!sjQwnO^IW1Ln!M_`%$eo+FO9fE+Kq1A;h1I1KD$tMN@uZ5OECw zkF7pK64jYm3Fbt0@84yi_jZZEj%y>f|3+;mSWD~G4*7QaUBl7u5_A(aJl4IME~rHr z0My;5*$$nu>Q!x~S6b3@RY_#5dB1`SR_bPfv z&S_I$uG=uOLYn;>KG@L<--q6;orcEQtOYdUuSj>`ejv&o7B4-kdcfQi3-`{u&&tKud|8M=#k7Udtv`}r36O4&v|dYcj^a`&vH%*KtZ^n7mIt+9sSdu|!h*>D ziHo5@{0`%z5ddL}^%{S9sg8F`tfLb5hhyQ^3;mdGp!QVbx(#5kYma*i3$v@Y0mt94+TBN_bnqIA3s=x@)N+z{9RY6%`#hb~H= z0*#I`zw^^as7ygww1t}`-F)KBhR3s{JA1#~-@5?l2260vmc zm?E!GWy^}^6|%BECbJn?Z#hayB^4#ae?|N7GhocmJ?Mg^ix}_iTpAShJlplgxbZu> z_e5R0^p;P-FmAN&vWAp=AIj;@!e7h$A^C;Uqw9lZz>=lJ_4MkS3Dg^$UB z=>yt2!?xe+kU4#RIVU_^_$4`}3k&Ckcp^!Xxk=P~u<=vpJ%9To;|m^1*c)Y$>R#u+ zmKBO;Lyo_|IGo-Ge}(%tg!eOu5wg{Eix=JRM0|k&WzYw^h2Wrsx<-qF$ z#>jL(#B<8WD=IXOMs%vnW* z-g$`1x;Gupnrr4vMY4c!>s-95%E1(hv&`C`M%iQpEsqrh8G$}gY~Kq{L8<2 zi_0RjF;!3S!mDcH$^RpL2OW6dA?^p!y!pS!UX?X|2&ab&5f7VO69k~)@*)e25EX~~(yjgTqQWy!~8*4v62?YU_@X7b}n9NxuA zy7AmBe7?x(?$vuhegLfG$)_hcCZYIS`=IwO;?SE&>!LYl1^~%!Q z^W)pFxq9Po#wtqQC-g%!6WDN2m+L~84-Anol6u`gTDip`5xRIhLT9yqgm1f=gnbn9 zR7wsvuvNDi>@z2)#s9RlS_F_Ef0QLR*%*mv$3>zJh7S=zjofKo)fK6~ZJ zBYf@^ysOLlmk9YU)&Yz1b)~}_!*ue^%ix^M+LkD#m6}>`8hlB`8pEZ<3-C*7mAn{K z{Jm_8(ILlaT$)f*_;HK6&2El^-BEU-%c_uC%`P^BQWmSDpmWWfWaD3SAw7Wm5hGI} z5}H^huk+7?H=Wu|m9Uu?j`eI~3zzkRL|VNaWe4(A;*3n{72zk9q$(ZT1I8hiI8Og7 zG_ThR!uM#}@@0Qc%pa2ssMSru4K6do#UuGJf8&Qr^*)=-Q%R;m3A%vY(CAq1$mG;K zgd;92iEEg~e8cBVDE%qNIQ^5!H+B-^{`?qWMvpb;FhQ6!4_Ykp96rPT2ci4>J<6wp zFmit@oQjD|0pi_W&mv<@VV|9FI_79twW9TJ9mGrmL4)g4oILs(T5lKcfAz%g|J4&q zeO^L;>&cDr7vsp5`ibypz)eet6kl2b;om}VvRM8S|MT`WztQJUwmGKHN+ z>gqNcs;bP^)`ZZ^U8OjzjaMC;>o)q;l6)PS989;lDTnPS=qF>9ik3+CZq{x~Hv&Kt`vz0mb~vj&?REOM)No$Ee8WqUuP^L^CX_Z4Qz!YjZcc`w3|Pk~vnEh<#&^h0-; zXi5N8Rfo6%RVt}bn7=mfi70OE_?zeQT#8acy@drN*A*OSD zH~Ic^aek5bA0iMkwy)98^qR(8k~%`8!b$@DqPlVb||N zFh5`iFdW zEeZUza+8?f9BVa4LV9m<+`cSp+Zw7=?tj=j)Hd*?ha1k{BqwIV?i}q6*8%D5&Ty2L z)Ynog1I`Lkq1^9uFGG&LU}YtQe#`S!#6Q7e;);tM0S3O)GA%ATt+|D>jD(}pXgp_; z!-A=IspDPITPadHVC+kcW^}B?x1CV}q@JczATdadE}4 z5g-m8!S{{n;R|Zi(Ai@C=9TPBaFW%1HwsQ4k$A3bYR<#dU*~HPqafddBP*DsJo5|& zOchSRxjC~8dz7?blgm&&!n=kz-c=@NlH3bJ zliiP@7o^c1JRXxW+Ik#9(2)#n>a;#^RWfUGe zT-IXCNTxnpkNVpZn2Xnc*;T_(X`J(29BK?}sV;qPEfunSbX*s3Y8UX{xm_gO;vRIw=w>yOfL_AJ&-8;g zi0-3@A55}-1XE2?8)E(6Ym7dpDuO768x~L$p=hq1#`zJhjG-kV`9Lh`AIhBmS}o(* zsqv@tqoe>?;?uZ?jOq-FTI0#2TKw0xMEjRWT*s$KTv*Q>HGwPvy6!lXK51BSR(#M$ z{HcECMp=A0&=d!>+a4p5BwkEPzx^(PqnH3?a0Iksf;=+n*iIQ7ijmAz*)BzQMtM-O zJkzocrLA=S43!Bt_P`so>F{${MRoaE_$lc2$T=Nrfue4dT{9`sH9oi9)IQBZN; z<+W|*Jgf9C_G+|T9e<05I%t69t6bMkIeiDLm8G^8MU11TW`nWT4~6?4b|Oi@${C58 z_*JKUzrcKG8<~_ca-Z#!F+Oj{v(IfjtivPM0@aIaWOo{?t|b&@8{xs-qA5Jq#7nZ$ zOvMG`FS&INdK_H^O1{ZR?ddG{mIzXMET8tUD%-H(74oZkYXBb+fY4IP)KDQ=pmE=& zkNBvHOv?CApK&NN2l(}oc|oUj4ELU%iUCI-)irwO-IR1fsr~28n?NXNyStE)fnFjB z@bD{;w=hp;pVa^YPTu?kq5<#+afNaN*en$bJmTT zD`~#BDaLpMBSsc(L$2QDG=f^b%))R#hUF9!;>4wfpdZRKY$7BMO|`UhYnk~xXHbAO zo|Qo7BGCTmRQN7rJjRmfT|i%xa$=0IzPT}1w;v&1n=WS2*om%jGeV z@yuNfj``qCrWWnqhceCbFRJg=$>~)}h!d+eMv&2nyLoYI09~w_gKvb8=#R{~A}<#eg2P2bp|j zD~Rj&yYsIaUfC|<*q&2j$a0fp>jm1AryMXPP?Q*&^jiwtGJ|OPuoC5+b1#StF?5UU zgs30#aBW+tUW~brJazl^XhG3p;!cIUgcE>Ui#k=l9rSJTg0s|3npJh`H?k(SVwGVP zx@3hgy|x^})(jrqUylw+v>rfzGkik5Nv`ZFUv5xwO#2#nvarX!j@@2@&5mQkivnP8!)Hym=Iz5_)VWhO=FgHZStYq!>Eli=~S zE9Zv;jELv8-iJ zBmx14Zw+*mIix-KfFI0T42vGJOi2*m%|I+a%azjE$C=Aftf_Iqr>r^jN3Qp)e;Pg^*y$ai{@U<#+ z{bgl|LC1H_wbn;?!(-z$h|IJCfZS`Dc0qZd=cxP4Hk`t#+NRD-?PtIzWZ^t!&qm6_ z^7`eY%%hCoi*syA?iMX1Y*>fiE+t|Jnp5j}DuNuHz)vO>`>Su@I;q&1t9!3GpH&+E z1hoQwNp;SO)h@xcwA$XfKaM9+{tk;tv|si3;Z8bI!dk7_TZBPu&yHaT_XDdlSi9t? z_X!?ha9eEVttzXa_;M^yCzfg`+1!o9Ifx*{Q7Om9x+_cJ{ml6_x?#^_IFFL;V!~i_ zGE4v|26;zO?$RiXR6Y7_Au+S99HZ_R`ZDs_Z+Ti`Q_MFOte{=eC?V;6+VhqZ)e7GA z1;UZyey{k{Ovp^0M2=7kA~qwAPP6(5d^+Rs$cC*n-mp$r{>6oXITy|yOv*6~^M{P- zi4`jujF}-ha|lamIZ>ap=w;-cL_XycoG&_0mjhjPiS|OHBY~bW`~df50fF+9Je@}o zJPPbt)BgL|S9)>7UQo(&EeAuUN(bz{qERMTYrk1zEfWD0jmTQ+Ji z4X*mp5zBw35R%VnS=`sph#dQ-U%k}#>ct2&xu9*n-#SPGdJc|nIuRS*bkD|h@Dq)= zYNt35V_3flNu&{>Ye_GXUl~Y-w1id84Sy}_%WL6pi%8{&Ox42n89xYla`afI>1sPR z6{<>-X`W*?0;Fd7Ik#pwjSO4V_&k%p&?~0Z$0m)h4hd9sjglxainAZA6ozHo9-)o7 z*|arg?q&I$ajqkGzk@6E^l}a-xviiA&5m$mF3lsW^umcMWPDb|W7aWF5Tez}mySsy zYjwV5%6w8BskgKOCpQpFaBfTut_?S}>vx zhS?ZXWpl6Sri4G$OCKN~>FMqaE8MM{?|Oqk6q*x{oC3&uYH+h%SPX83ty8F)!yUpM z8-5-B{s7ihSIRd)P=K5AyxNxDiwh&;k>q!1FIG%vJmM(_L!H7&U(b%~#tNa$Z+Ai0 zGcXk1UzvlY){c7XX_$oM0gIZKQ+yzrcJk9eL9k9$w z=!mvZ)odwzH5IHVLsidfzd|7*vRhna#piiQ4Xm?E{YfIYw3gFkKcnvteI`!<51;pl z?*)5ofMFm_Ydvc=n8l_T_&u*Woi`x&>TrH=jS`EPV{Wb9@>H>|_HcO@kji;WB`=^w z4fDswE^hiNK46hhRB&f!!u+(eU9V=Pll*X^L~Eb2eNHF2CZcEBfjE56^=D|!IIYB% z+hWCW`6s;d=D)lB#X-|gAfz2iD>Zd@xokr}NGVeln5RPb=xm+CddKsAFCivT+NNC4 z=lXzweDXo2`c&XNr(~wxOFaRBeDY~XbbWzEPxfe`0Bai$jJ zy4+wJcF{A_FK?bGtPEU#+;1z?E3T~d8s%XaFfhhQ>I5^k&4BI#9cumOIS}ke^5;2B zXC#)>k{Eql(af)!|1r~Ds@+;H25bv}k+ixKihJ6Y&)MddprIaQ(qAt1-wn)+&czsw z1U!x@D|G9Vm{{9p?%W2W4bnOdXWC(6;N{XNg@98;S(r-5Yo}%q0&6mG^IktcT-Qmm2m>6Z#c381@V}f5XOt%cqw=!S8cKZZqCDO0? ze8i7_`_8Um*ir}1>5FeGx8-coveA>g?K9h)qFVGbra=DtXXMu$OVO0OmN{PHeB(9T zMWg+!>_)&DPAEW2iIC8`sGhsOqSJ9J7m64t`WcVi6b=z2Wk^rwiDdifoA#JMe`P|M z)`0HDP`(Nu$5>F+PweWy7f(A~`*_Kkwz{quiGTdceiJeCUzTUsGHGh5;}t1X&Os;R zD4FB9tuBUh#PZFDcRo~3XukZ_r0G^J_T-t;>%wwc%GXo&db*%fJYCLv+fhVbw;#v! ztH2rG&c{t1 zy`45tXFKVz3-?^_rC#HnQ#&|QI5}PPBe-8YH{O)*yqkf;af74->8zCt#t$@^qlYld zOa%&lbUbIFC^F&_^-`xjr!(f1SZSvuGfv+JEWx>b^#5I#`0@Jap#X_ufT2-dKhx$( zJPb2QG7@j8#ZP@S=>+pf7d55}HlTb~?Y7lr+882JXr)5g7|1U_)%y(r`^zX*fuDv%eXkmI}M zibvTU{N(QCx+}esC4$w<%QR*96LB|0;!~FSR$f=>GG(x&&_+U_H@ui~R?M9K zxR-vrBcvUCS|Ldx|jRTGGrQuVa7HP?%ocC}y7j`qvG&fxccU zij0ZePjHm>p|Bs6)c!N^>+m>i{)Q#g%S^5MMkSLTPUS0Sjb&blCaRqC%`(WXjRB5Q zNj2OBuP8`1MMcc823fs_4qz)NP9a>0y+v9)=j3qRypJ%M^V1d8B95u5UG22%)!#Cx z;AhGm>9-g%W27WLHJy%gpCyr&Wp(tloO&iSDJQiz(4KK1T^a$*bYFQ-;sp81`f zm6fw0Ba(~oqwJ&%`)CPBUK>cPD8E@D%gDVPl94~w<+oQ;>$&kB1c-BD7@4#|$aCyE z;3=7IUG1<9gKKmBGsf|fgVXyEqI3||w2@dB;1}(`h`5Ip0-^&TY#}ZzB+x1Ibi$?R zba)r8eI3o#!0a>MJI97@=sBWQrjWm^KF<`+!qt9VMjd8l7|5;Hm=7(aOk|@%zK#c> z?WajX%#@Xrw-W}2Lk(81-^NYn(~XXRh{4J9$lY9fDh*t)#1&6Du%cL#!=g{dH9QlX zRO!W>5L`?`T_T{a@bRb5(#tdQNLf{9rFAK{hANI|Gtjb zbAvW|>=*Vi?$Zl&;}3fe^+eB=Z4+db^=RFU6DDv40oF-# zZKZ;vp!^QWWqFXss*jIHy=U~=zvCGBc7B{$JsMVke#MlKqbrot$GU zPMtutq^pLXSW9IjOs^fOKqT*v#nnnhzP{uNVkvr_<@JfaB3P5DH1(ZkXyf&Y0L=5B zL2is)PG@hOMsCMYm4ZFO?YD~YP?D@6AMpa`dKR~w z(0;b{-;iFYx1L{E!LL*-!K$1kyYLp>7>)_5bT+Opml#xPo*P8fJ}RvSI3fXF3*;|< zO~!VWxBKqKCC+h;XD_(vT$Vn+^ZKaiJBZg}-HF-|vqh9c1Nri*nwH==sUE7cr)te( zG4puN`izeD2S(~Ac3Edkkzvr%0Qxum0=``yf34ZA+s{PbCXyWf4-H+IPSP}Da z_W+)h>VTb_rN8~7ilL|VCwUu_u_4N!lo70^FutciV*k4gf3S4SU z3H{xQIRgO}$8)+fb}0#|trkf_xnYKtVJbX`PN(+w(lJGrN}~&R)dJ@P5mD}&I=Xpg z4%0^j^PZ`X!RFU1+#^-9eh6iw%((!hR$;Vp>0TeMJR{$>)yw(;Z?^@8ssBv{O5Dh z4bo_#V-#Y6p3uMs<_uByG{I?GfHC;PyvrE&;7A7WQZY2?VC_w$!2|kDFK8S7)Dfuj zqlrK-FxNf=kR6ZtfaZ!^#o;Ao5BGRJ!wiXpUl#br|a9v zo!N=436PnUFwO-V<&2tnav8&JU{s-BV;Xz~{i-PywQ`sJy!IxsMfl630zNZ!=xc=? z-|M@|K^uh!l1QIu2?X5R?c`R9I2O`MhTn|9#E>|X z8bmaDXR zOjymj3ylQ<&+Pvn?c@I+G@ca?>?-|B#L#>+>HTuEE4ihVTAn`^s-naGq4(ORC4`EP zpHDfS@JxgOma&L!zu3uyK3wvStg@}sS1ERB8Tvw9yzUQ}Am63g67b2})UrCxI9iUd zy5id$+EvJ&j;`Oo<>MVwNR1d3FDj=Y1*ZBGwl{YtcG4rMB(Wb1D4IJM1~J&tDP}R2 zX;sbdb6b6BI+9qsiJ7tcdg2+_@~)o|@wRLa0j44EQ#@M1jhCYz?)U=sbN2#}1)8+0 z{me&3@!cXClN6mE_M@(Iwk6^@rcSz-Emlir}Q*7qgek#o+TZv~ahb zquT#Aa=3+&$DReX$IdY$YKpV{bC_$!*p4cAGTrMpX>R5 z{kfr~3p0fh_rnsp(Mll!MO7ZJk)ZfSPDM2s2ypG(8Fr^ox;jTQZTbs&52sgknV^=* zXl7ph70_95SfWLwp)XQBmj*4K+H<(fy<2Xvj0|A}qGQLw(w7y2*MAcpPEtsm@1`w; zB57DaCP`Y{?91SGpwj0T9Yt3e){ZN+`>o%E9M&V|!)(m4yD$w(0q7WmAnBCLZQf(*~|x=CGyZWW{oWHgogd6AE}|jOo>XK8+xpDv*nS&hEtyn-xkY zW5Oy|+k=I&Ds$X@d7VPraOfDEfzR;a2Vw>?V7q6de{p!d&9a8~?J>=fRz>2|F*Aa@ zW&2~+pTdPb)2d1#NdB#*t~dUK5jCt#SX5eQVGMPgyubE>j@3<;Je4M><`3vRJ1GHS zQZMa=N<+)Q{wxCq4)dugZ#JYMnQn4^N5DsOYI{c2h1{vU{34PrM(wfi%^VoX=01Gq z=f0q*>{jbFsdxDPhX3RGgC}6gD!tjI@45B_a`+*D1grp8B7JIty-^BsEt|zR^o-uA z=RaF+OJ2K9ZX4GPfAECKv?|z4#KgmH3<}y7mJ#=j%qb34rAesd|FD4%WybKR-R!1y zS9q)$1KMwNFF)1Ttn0eg2z!oMEjM#7ch-FEaY_B;l6SmPuih(ZLMULG@$`qc3tTjw zPWY*rS4dO0!J1)QuQAqQT+gOc-zyP}XG8qfnp~fHkj$+BI%tFNSsv|jZ|FBB*ki-n z2vyrSg7P)p_uMIz~e{wnR7MnP6a|1U-UQXVN46EKZ_$;~~te2%1U06E$)|-qT3_)u#cYT)w z2#4LARVue*XN$nZh^r3^!dh)?v0GUY%(lntbr-1^&vj6KM%G+|iuv$S5`)Z?DtXg*BBe}b<8Q7SUCQbxo>hQ)3VP9>zKAhGn zJsV3Jr*iAp15-$#-i@RyzFZkCOM!N>q09O;FVW{fu%MYd9!vM8Kzx&xk0T}NN@HyL zt7nHo+Gj01RzqVg(_LD{Mnqlvv?d-nz8KrDlA3ZN8E$u?^*iwcui?l3didJoUBNDyxgFN`FBZH z_t%*9rrKkhWmY1QKI!6s`A$k4bjt5GrTD%1=z73?`ow6dJ+^uzp1v*XY_SO2eTyVx za9ApY#(KFC6oyU|xR`GNUF_Ph-F+vz1;aV;9TcdW7mnbeQc-bgV~XrprC#?im$1eh zdNze+xcwodt#h95v>jARDD%61Zp;)I#1|?pS5Rt1{O%di0^=_g7B>!`47X`&C0V7< z^AuWt+EU)P#@wreZ!-0;6uWbQONHz$yaXd?6DrrJgx>RSxcr&arD)ppjeNQY-8|yt z$BYg~KjzeNw_BzGeJ@ng(x8X!C`_|Uxt6WoZl*I3^0lbtUJtoc|LXiO)A_#hh0?g` zV^ntX1RMDi!3V=f#vp^}cZ;_kWdGwH|8FPGh=!ZY7ODGmku2rcXVLj@*%gc}!3dZX zq6V(v`XAy-ZMx~SjCS2IL6mrm-zhcuC~LT$qtIq?^V9xfmSCRYhFknCM!m|?`f8G< zCEB7?WO{QAMYZJK(LaKl(mM1h=cwXgdgoBPlVnD(Uy^VpTDc&5Fd>CGo!Sxm^czDZ;p-7^@Phsn-Yk))E_Tp+1ayH zHR~f`kWwA-(#Xr4ZL_9yAZwTFGvm-j#r4M9F|dx}->3;(;&&x_7zXIA{*=kyKrr9% zwLB36eg>53mTIzQxIiyzZ6Io{>YcnoimWZiYQP$c289g4o|&))B)L-$qX2_LMkdHF zYvkcH$w(SqecBI_g%&lVS#5lTsYtW{6lT5JwVQr2PMh+Uer8sfW$)y=X+M+ARrsYZ za6MNXX=nz7rpS})l)-NwF=o`<&3wrJ^_V%^mqTy1)SmnJmZKucK%hx3nbqDdTlog~ zv>g**KJsOS7fOdaytwbGi5D{FV)HlfW39$z6q8!Xj8Xw5wfbO8azTSFhUbXfCKa+` zDm_yYTLToS;2-)AJ!QZtB+y55O;*J76@fOO)k8q^&t$f3ErWo_B;XA$Zvi$)&EF)e zpy)KttkbU^2CCKroc~KR^%jm6aA`3d2N6c+^$o|x>0(Ci*I0UhTXqqbqGX~545$Z5 zee%Zc&Ew3AEQWtzBWMgH5}`Oh)eI6&O=JxwzLwIAmixlR7b|8_9%)yxZ;Xyl#F4GH zre}QBilJOI@W_PAI(OO>Mi`%G_UZ@kbO!~4#!DNJj`Q$|1)YAhG~L>l1iZd1@Wdw6 z)0vaG5H8D|LlYWnM2r`+eg3WGHH$>TX3u+kfYWrxPWywg@o`=i^M|VgiwcC;P(*C6 zoe#`(Uj7pq|A(r#aBISS&0e5Uism@loo@Erui9#&G;7O<1C>6 z3TYj7UxQnlo1N+DB<(hn$Ial|vtQY3RFGLDzb;-F_iC2gTJH8;y0WC)FJSff2T;3d z1Ktk)aO}#X>G}vrSEk_%!P6974<2?$U5|}S`SjV)`(CKduYe?z%es^$vjP%tVBB?t zIJIpaKRmdJHnG)yo$|7Qo)fUd+f>~KU8$dYJM(8}`z18JlrkK|FXXefEGcX(M64sg(a6gRu%7lvm zqgwAawVPl5O#l4{5f6yhEHf=Q`+ZuJ#S{!HtWN9$+WphLuHWvYPBs;a4X`87yXJlj zoqW&wkLIZ$XL2sHQdZ(28O1p7qr1ALyCM>nV_z@#Wb~s>=}xNn_;_RQqOt5Iomc1b zraga8ov*W>^Dd(`JqGb3AUEH)RnJe(pvUqFbcbdxlS-f(V=$mCz~A%@rhatu=C*+; zx}1&a+gku(HkUm_@Oh+e8#`Sn1s$85W=Oz2-M((-cr1#(qi}5RUHL~ijeo-DM z(0IHiN(SFG&SX*05{A|K{W=|pj1h_NTykyt5g`v>b4oZM2YhLjJm)zJwMitPY5=-# z>mv^F^!y!5k=)aKvwXdl%{$lmi9q0auX};kz)*~!N7eA{7|@|xzx%F5I(x-=xnXWG zwym*N2~l!jbrDIcSXGX%^Sg3^OCNfN%WZ9(vw!TM8M~^`8#>xLoGpUfUkNy``d$yU z9d|Gj7<>yGde!+7Ep-=8D$OqbZ-${!h3-ljly}j2{jOUK=_WLoaIj`HJ^q_QKE!A6 z>ln(9+CB|C3weB&dJc>0mG+TeFJ1BvhXe`??xSnJKAP8+QcU_6)7UMQ+Og9u@Cyf| zJMu-BBg)ev2{x7OJ&gnF#2*NKnInYFM;~Mo)R+tSS|&B`+w#HChW2E+CZ$7!gDaZn z3pU?Uo|zts$>|H1lh3R1iX@FGV0*;GdMI*PKpnw*HYEaDHlIDBn;K<#nzsTV^2uz; zRHGJE@$Du)TVEZ8U=YrmIOWH37Zt?tCEZ7B({UQ^``$6hEoY)z}HlUV+ zS4f>MiilpI$+qr_1S{AKA$hL#oWe(OTW~*%nlo&=3TYUckNaghcV)^<%@UmLv!`lz zr&G>e*(xvz2P*?|i1TFIp_1kHD#nrr*~@67xy?ijej5tE{)0(-HvB%nG-l zeF;e4PD`t9!INNYcDuD!hoBrJ5x}82hC-(M{jO%jB{yu=cT!Vp zyi1I77m7ueV-+@dHA-SuJqz$A*S6f@_dM`eXylNkGJ|guzyEy#0o7HE4B^iHKzzA) zGi)U#CFXG>Yqf4hFK&eu zWz}CrOWq%}xG1P%f8e%X`UL9m;kzm7;MLG#(~IeSRl-n~7(_=w#Y|9<*e;;HRllhe zf3_qThF48s-SC=(M`D{5)CFYT74S)6(Q9A9OEg1$OEmBD)7G#CR4NDVyu;?$cMoWe zTvFIw?2M_mUG9Nl;T0ZoS#1y}hd~uMSX9a6EF3?Cyw8q6@?z~7)v_V{nDiwC; zbISy;{;JnnxThsmG(ty*8na#N3M(Sh5OZCv@{a5mGNV(Ub)Sz6XiczTf2x!Yi&~Y+pWYZ^K*Of6$b!eE$mqS!a#XN!K{_e7{>PeX3tIJhG=N8D_wgBCD zH69&~Vj6eycEuuLb$Wa%W2W~-tjMxoTNHb&6N9L?n~1LwOD{A_Q+Bo@-yZw6br+e}woo2cIC{p(G z9k%NBK~TNxlG6Z4?~6=AvL2;0xl^sr*(tKDHeV>}^?p@511ghyc_wq`2XCi3d4XRQ zEQXM2eYx|8SOCg0GMCxwr3)j^nd7bCWW#zlzqLdw;Pd9~w%01K1g@5t%uI`VJNe7R zdq_#X#-_dvk;s+HN{bG5tayDOA``Dw{)fa~S+8qC+t5SRc@mhfTvXX8LXX4{G2wSx z$C*zfpxlp5%CtCV&$SSlq2J*V24dj-V*wiExbIb_L6Do`VB;*RS&Zr}xKnbOpZvmo z@}22R;T+Zvrl1DPis{5T-6jsVX^GV9As@!Uv1F4N!TvMTqw5AzwAVz4ppiqPuOBsR zJFn)|LPD*0tLq_+`^pvlsCEI!xvtpqZ|oBS;?T40Y3P>AC~5J>&1& zCfx_YT4S#3#6(;kKWyjo4jD-su0rH3Zno$}gbje4YWa;!G~hVnL(WiW9_=}8zMbEE zaa^s_C|ZTQU3M@W=ri#WrO#!ub}L6#z1;s_%oXbA9e1$YE^ECI z&uVX#JHtLab}jGgn5$Rp=jsi`=6o^>e0g@MtZhVl+U^1%%)pw-L;P0q$I~Rno==r%bJD_iCUShG6-$$7J5;Z{buHr zlHfv@`I!Rf@?gfueAK|yj$glIu0e5QIPI3Wn}X3T3+La}qD3nEeWC!7_V1XX^d=~W zG%2giH^B&t;9D2r`17$xaN<_-a34p4+0>q*TAC4y0jwb*FN0L?r^I>l!Q|@D;<5i1 z``-~v;Bl`0Shq=}wgb?!BD$MU4wU0G!{mPhjQxQVnGn4#DEyK-Umw?N6f0_lWd>Y3C0R*c5`U^0h9fy!r2m>7+TF`8q@Dw7cX&IPis{MasfQWMvv+x6F~sTxmySV9EPr zpJniYdP$G!BKc8@_w_#8s2)!o3ie-HEnCYgs$98$^0M16{R55F$nXrtcl)IUVp9=i zlK_B888po;&2{3g8PX{9fCtXJ&q&^dp>4^$h6kmQ;YE5;xP_EIj^%B zNLBmrb_fv1Fg7qCu`w*7(;odBH{7jFtKyLF1@edSkjt`y;KBw(4(_bNfs84kNQnbe z0?!$tC<@|oSkd>p>80pj{MbjH9E@mLMFZcYw>v8HU2=gMZG-noHKYItqP!{Lmsck! zNa32`HS15LT7U53g6N}@Z|j8PhgHHDPj_}bZKA3q>$ZVkmpu5kQ#MU!%lQz$Wi_jX zyb4fSz0KTbx$tnTgVyc6RoTVH3itq`Cb#u|OAmdvL|j_YLEUPq5KQWO(1i8If2X3U zz+v2Q@|AX=|IM#MgZn=ReDAcr>ZoacMG_o_Qa;`d6>{$<@@gnCf-Q+_{{Gf|8$qal zJ1bEJ&&Q3Ks zh{;t_G?}c4OI;Ujjw6|%NAcM+8mq~cb0&y$!!2W@-`PR5GjKaRl|RRXT)?dy(D;Ji z4cY7%UT%aG^!oAtFB{{x4VtV*^Fa`y_d*);Y&lbY6qL$y&j8XRr!C!2`jnjJBj0L` zrhd{2rS(`!>OjvtQg7GM(KgbqVw3WH-*nb&nfdSKE9zo<#ay{|qwYX6JY8r7c%?&L zlQ5C+*iD~dS`pzvf4-$Q-JLAhPW^tDCSt+3_{TbPW@rM?YqnV$rIuso4oi`Rfu*=| zz0@iGF1Hog!a6{}h*xHRZ=BBlWT4sxGl5EAg;Gj!nfvZ?pLII|du(fn6!XS3d%G_DSXpdOR3G$VZ~k;mWc zw2XWUc+CgHr7g;AjAKn5WDUnekl+Lgw{7L$z#q2FpS-nNY0U(oprBnIt%x_$TCFsYyW1@@p|oCcVM^oc&1d!K zhG@dJrEv(2X9FN8)tnv^jvy}gnj}!B2A*~HN7H;;r4?Fmn&DMB+We@@as}}61^iEJ zty`)@uO!fG`Xi{;Hn$~F_#`%nyYu{Vu>n>IUPZ@F#wwfLy=H7RJ}UP|60&)_(df16li0kX(8$_3#(lypNZpb z7WKbMB}kmxQz)#^?~uBk9a1&65RA|2&~7E2_zbse^pm=m-F9XwTB!XlX?dHvaP=78 zL)CKKs0VMb$d21nNqv31I(LN#9C4Tv7CL|3EVN@%7k3`{vpQ3=A_xxTADDK)`O7=s z-?rF92bHDIu#LdA3VmY|1&3g(wM#;QWAc}FBw6f=WeNL7}6GuT};W1M?VpPF~cF-RzsDpELb$1{7Uohpjj#3uT`8-x)rWu4B; zXh9RdafeFkGDt>VjARza@fzGTT^XJo&* zqE@Dgdl?idb2H3}t7*nLXz_CETxlikH!!tpQ#Kp-8xtVU&!ps6YSDAPH&Y{GY;Z~c zjH~zZ&5#nR4fA*3P7Ye6hBx8+eT=%kWG+8N_Oq|MJ27vEw0uvF9g8bDXxVW;eg}PH zG`U?30K7;UH#$GPJOA)t5!%Op_Av3k_CWflD)h__q+0CQNaN=aZ%fVU$rq!Qg_)p{)=>sVpMY%NXLvU0c#K+heXaUk{> za#s9K6ql0KH|A;PSlSV1RCJNGRCH5SzqqHK6jL>?RDGR{=S`W`)Msz0z>qdG5AxWB z@}JP~3+!2~uVI$yX!YAII{8aTYQFPVd^D5+5%?`|PUD=)lmx6Qq}eTxxSDr3v+YkV^E(4pi1x5=&2-t*tY1Tb^BXOFawh$xY+^^@f zIeks@YE`WV;g4o&^c} zG9bJzhok-dnFh3!GqyEs>AIDv9bY}2}}uh<0|LGALmMF$^$5 zCphS2Mg!J4Fa;0@Vl_(`B8?5=xLzSrG`ge;f{(~~@f%_bEhcSTHZY0p5jXqpmJY9( zSDweqO{1%rGgMWT)^~RW6mot=`Ot!f@xSXaZ zB~dQ7T_%w&UdiO^Llr#}>FE z^t9-g*0O^VR3@Ro+>-Ob=>>vKBce1{_=Pxqd8dO86qMRV-r&Qz;q!~CEsC|*Y9~ZhK+*dr45kv#dv;or5W1TwF-|snV(Lv~) zRQ~h(BxTFk6?%h^RL&8hokG{NenX)XdmH>VAulXM;DKjRU`s$PoIdvFk5`-p{xQ+c z3&A`4(l)e0)bdi%nI9J2j^e;&vxC)Nsb3$UE}_2hao<*8#_50GJnVaOO22g_a6G|G z%(dRE?SGnTv2}*YK8-UoOpPPLAWiP~15tCOC}&-}yNRTDma*@=rF--%*fJ|v%u8%q z@tN5|^)|cS=k2dCmz! zxo5^L*IAu|3ChCu<8|mXhZI$mxc!Rt!7q>s5A>pbAK4&!84vaD4&jF=^8RrN3G@R# z_d1}4Zw;nJW>%iNpCmo=D&^pn!{@Rl(ulpJ(+)!39z)KlbY*T1f-JXP#p?O{2hlZ- zp^YqieM8KU4mP98ju-7ALmtch>}i!fk+yucJ$M%IvaPFjTd#!J>HoR#C z)9cctv_oyz^Tt$(CpxPYhIOBr5{(>x3*rO|8tePV5c2m=W_Qpl&I@GtPzxCP?7p{} zgakv**F(|v@WCy~(j4VB+G&?F{#j%A{l=$E@3-x?MEY&&_ z@#;ExXUd3A{;2Vhv#!?J_Sk6YX6m|Y6IVJiiJsi64~BZbW}aV=&SIv#-hjaKnQ(89 zB}ppoYun{m$+$Md^cyQD{m8Ueb^Frli5VFO8`@`gMrPeA&aNAh5g6@izfFD=x3+J` z=J#N|MTS@ZuC1m6+lOfse>S!Fjs_i|B?H+EsA)=fyew`t@twONB05HvzIm@`o1#Lc zew_-Q4N^NpS({?N-vvBeoN>Ke%@EDxR5*Dt-k&;tDc}5ZVqa(UYH!v+t3s#5gvfgs zl3nfKmrgfodisE>rfWziE*%})a=w$=l>G3W3LzTF$HPxd6EF=})?}XDgDBklgP#M8 zB4xuHRt5H-{n&U{or5$q_<2VH+7v3KqX_>61uL%z_{r4`?J6E68I%VsBvH4C{q_r^ z8eOq{KPJ_bX*pB}vmY?V1heI^VZNk~&Za@k0TP!E1o=E*l+KH+W5CDVqU;7==Y;r1 zOMW@HcToo2G2|gF+MBA@by3M`vcBLz29`@E-SB#EN;-)R^u=T{ug8aI-XegtKiB9d zFk1CC07A0V)Y)Q;jgZ%;7G) z+>FpsF9Pwr#!g<^W5{+&lv{f?si^8J9$D%Nm$6iTuhfmvlxvVA zRt=Le%asZU#%FuktM-LG`e>_h5 z+ru$CvfHD}F%9>~& zGM;~-hb=@2-i3t#@QqLGzHa`qGR5C_h41eDdzA(-+8sb2**b5cqO_a`ii#{4oNgE( zl7*vP?1+^tTiz;{{pTB#O;U1cmw0+5!10Yd#tnE|Rk!d^7Q~@dB3OA%S=2lUXb9}n zR8uA6aKyjPvusAvn;_XZ!`4Rh;}5-qHGP}=@GK!Q0rVX`#&*xJ4LK;Fk_6x7M896l zf9`J+6O}~XwI#tAGQn?(fWW2@`VWvyP1M;EC9T}PEmFR~ed}^^RbwQ6alV#Y^Gq2> z=RBz@fz;pElq={z^TSowrj!=Sni``eX$C(v8C8PY@QutEtl^fgrukW~C#g`r0sLb% z15V9B1%X$Jp+6g5i*k0GN1sWX;q!rzs`Ip&jk3 zGZekzK7OB;tx~LDU2j-Se?+~*bSWJ;iz$ko3n?B!VhxCukt{hA%>`q?4?gRUspbQ? z06$QYP-M2@fQPxXMe8%kG>rUorKHuZ(SV#A*G-bBDR162V#xYxL1nX)&$rpiX#M*Q zV(E<)it5FbcU8P-Zoc|2o(~7ey~WV68E2~yN2*4lQl|CX0xl83$iLpBP@TyD8;S>j zO}4F|;Ux~9t^?!daJLLQvsxodY(#Mg>nHrU7ynNK4@lNk?hVo3GNTv>h5VLwg0#0?hXQ*lHF<D-ER{M)Jp@p?yhKwUW z&{ln7p_W!okc^m3&FF^Ve&N;6hiGfE;YwjA?N_#lrCICBoZC3GBa|bdJ@1|ON{Zy} zu`^94)^eSD7>kC(xozN^d@c>7X^h+)NI||Th)uYyz1>1ny0khJ=lOtq`{Q7##-$A2 zDS6(=|K%~L-eDEW;>PGN?_XvPwEW_~$q2(kl@Q1!!zSX=P*a~8G2^+6tM!ga@>k!T zZHVwx`4VH!a*vJ+w4KtU55kx7v z+m&mjxOm{9NFq{ldV@7<#bSMeurH$x{+i|@dFwO)5-G49T(=`P(0G{d3B{i*RkY#T z$#AKE2+#L#%BuC9GUs)hdT=|08ECN@Fvfk4J^bqbfKfCkcR1%#Klaz1c^De0>~`en zx}@d_-(zM2$5Dq24$m;#W(YX#1=iY+dMP#zt008x%ANQ90_HWZ8J;tL#l&Sltc99C z%HRKDOK5TccL$;AWEk+fCM78G4{aGt6^>RMt_uP9b^__y5fTsthwT^#CX_~aDIs#q z>P7^eI3l7yfVCRHFHdVtylYwA0>5k&QFzO>HXeRR=e6aESawBFsX~>=3e=OwCN&lx zz6VFR3Kk@o9QHdjBVzY?ARE5h`r}1pqPy4q)RBs3n6>bnAbJ}C2dYtxXyNA#%vq(A z^6!w{KetGHIlkVh_kX0-dcPOx1lzs;?7txh*c#koM2D`_+YXI0C&?xh>KMu2FEyAn zMH2E%3V!&gl_uaFeJYf++qCSK9!V|)yZUVr84C4UDyEpINg&O&!_XeF1y!4kA_fWd zR<*{r#$@Ut4P+Y7G|jTnI&s`li}OZ1_&rQ{P4YWeG%=5Ur&B=VqYHdZ96K4uVl2KK zA_k^bGNf`?o-fQ5aw2<$81g4tiMROi-`qEh;f7y1(UbefAFOl?2tqZqlB^%4Y&o>r zk`8Ijq)RVDBma1lPW-+b(_+YJDSQ9YSiUAwP{yYzqEd}y>SaU^1Y9f4r1iuONepS!!3^P|HBAQvStiTjK6X8v(?P$_4%niYRaJRqv zA57o3s%+t$ji5A)JOg~=>;@^n6%KN4k@$SK`Ryz`K7Sc|8(7mmprv8 z7m#FwbOGw*Upp5gfa_0BF7y_C;GbIs8TUP1`Mr`ZMs`~B9!~kUdEU4oPXoJxj-D(T zPp@C1`9OJpi+#`5L;_oc58iyJ7PV?P9JOj_548$<;7*=QR3%75qCJ*4l6XmMl&Uo5 zgbK35wP@NCFkXuu8&&}ATs@k8hd%*Nt*d7d`agQ{EEYSt4y7=Gw@VdOn;vM7E?Ea! zzgAxmqM-r1!k`WO6J7Ca!k^ZKow_}QJwk#2eDuQEV+fei4+-*<%enu{1mMPNA)j8R zsNNTa6${=kedBxnex7I)a8Qah|2yv;9AD1g13NaEYpnz97Np7QtvM&BAV*C*yswFt zzc#6~VCWeKUJOW{F-I(Hnv;54qg=`_nDWM2!AL)~-?AoKYRZI*OWw&;px|G2pa;rt zdcQ*EpSSkvf)k^^`XwO_*nVLPPE1Oc0k8BL6A%o%=?e93>?tR$@pFPezk2{M2+GEzdrN@9A z6s~x-Ex=lKN7Wg+8RKqu8nv$B*H@nHW^x`ZrAXg~MBt*WNMcqy-vsj)Hl`BS($e-7 zY-I?Y&g>9>cZtcgIv6>jT%THW5SshfgtWe1+4YGb)M}&^Z{#vtMQ?-NgX~b@+BU0D zwjo}d7ozB0vZ5x#f_PHGE&Ks*EBl}C_IkC(n1cMO;dMF7W*{23^ zGC7>QRsi*t>wAlqBBupB}oi+Fne`WP0XdQ{Kb^Ikf}f1@V~$w?*3xkPj|1<(-tP6lUfY zrxK(r4r?ekFUr2|#nqOTmb(JQ7p^gNYuf_Ddz0{vrC_xjE)+gBOU$7ve*GucO;7>1C~zA*|vM2efd- zp)^qezOkfkb3bz43`NvRHtTzDjPatU2~gBGf<->%+TVO~(w2alI>6Wzamld;V}yH5 zypCXsd#9fP1hY>27jKn253a#v~90@J>}iji?v&^mK1cs*X8EuM&Th1U~ZBmoVd zV*))fl>3nQFZGFVm;0KKi^C|&-J)J4XW&}C7E~5ENJE8GLpCZ>W6&Jh(-LaILV1`~GV@y!PbqX&ts(?Lr3}A{2 zKq4dj*pvuz4EfOY{DPeq!!QYLJsr2cG|E8e4^z4CKsWtXLlo`>`Tc-1PLfy>Va)Dj zIF%q%3kUKel3lQe2ljU`=DEDaQR~&<2GPFW1t08#33C5WNd%vz;c=a68P;}2{zy=Z zdrVP}I*B{O@g+F^{2&kGC%Qhpw5y9+l-6?q$y!<4|k7I-5$x? zklM5jT)_rK6q}wug+~T@mwwoghCxMe{{`tUG!wMDyi?)JEYt}P4yJE+^rfXZC@c)e zyaz>BE>A@Rm;O6x?(Q%aBE|wwsij}u?hnLe_>2Td3cVWRyuQtJ^qK z)2!Cg@;OWKx!5y^uisDvbv_uBR1E)dwg5&UGgU4{CNM%TU#>eR2?2g_&*$VWMW9d; ztCXjyeIC+gdiC+w4b9NeOv`o79sl+h+}@DZRf_J9hO*}2AYXLtn!>K)pRoHE9az84 zu;;!=QG5}s62$KD*Ul04J#k$m6qS3C^681Xi|xnnBlU4X)?_2kQ~+}SeSoBEbaKs$ z^P`{ZpOGY3+`s~0GUmjpU+>Dw>UqSR@XL)P>RzslqsScMLv;R&KK+1&o7}ETTXzP_aA*d`t%}TAlrk=u{YQbyUxU$1gDaUCA`C_;sr0N4Wfg+A|~+ z-UQl4Qn2)0^LtxsVN*uK=b7#|&Z?0s{OZ*ii;<3k`f4=2z6hX`iWzGw3~Jkj$gOMu zR0g-K#ZJzWxO_oh=FV{fxo{DrJUSGP8d!ml3z=wGm+{M&+M^8VR@pko$iRd#$dYYS zwdlEJfP9AM!%AC*_z8}nS|J>{3J|&YJ@T#tO6Hm5ZAMHWaewWL(ai{Hu$#DQs4S80 z(kj0@YT36(*oL^|seO=)aw02d&say;_N;d8iX7u^CbfjP% zf1B5I{>9=Q=nk7>wH-o#H$hgrZepZkSp4|Qw_ekA9zFrT-`EFXoCGF(u8af%Cr36& zC7HeR)Z$;W8%J_p=mh{YnK;FMw>VF1VbuCvGDQRhm=!iMF>`L@*Rp#|aMgKt=lC7@?-W5}SJBq$SnZrxBvYixkb(qXTZF zu=D;=yp387YmA?W%}y?Gk}4lx-3xat@!|wNoV+3<4YukF$#|kdj#YrsO~PN?>=^ z5YVk}$g|h9Pwo=fsVXQywf0}W!Fale2x2hl2$BxmjCqbe#a+FMP%U;D?mKkd*61%R9%#{5V`f2t8AKL~}yow|SggMXuE&nY5t3 z_yxf=%GuoFh`_Kszqs^L-_NcM8HgjAHpv~s^F)EAaa zkQbh4egB8r4!;8q>PM|l7h)9PQnIt~LQn0ZqD98F|9;w7h)p!G5igU{@pdlUo=W*z zB}}tGs6u%U)g$c*d=hK_c^g$my@^;5CnS%be`65?4q-n9}G690x3U|FAyvRUCiV}`J(3L3gV*B z?#mGfJGm0hdZPH)M`T{mnUu>&z?&o#W;bLbi)}|r9(gdQV@o1)6Ul7tyLy!OD6;7M z^yYIOqz(9;O94DpDh)5H^b?{wZASq49 zqc8ja7}izM6RaP+`5aih;|8*&pNO6X|5NE!cVa|zCOKy2)oiTm25bCwzHm>n)xAzj zBw&y2DZi#w`=nkfFA|rL$qp^$^N+hdUZyMAH%g38B&s#JovO9lor=#CR8Jc9mD)2V z;{S|-H!;+rR0o;CT}67xQAd}#*<|G%luS0V?0R2n2>PIw;uR(2e5`R1oyeGa-9leyAIMvG#=WA*hlV! zNRY3Qk|Ts-w8#ok;{X?t@%Nng-x)}ib5EuAF>EJgIYzOaUJLmL-YguD;m| zOML@9#^#ui>ghQxYfu{d8*zz8MkwtVr@ z0=O04$k2ZXKnVaWQE8En6|^SsF`&nh1UUJih;`fJhe{NisfhRUX`coB@SX$ddZ{3$ z%WP&Zb>xVLu^u7@axo;wTAbbIAk5~8sfnn^dRdp`qU7F>@k*t?NF~dL1p^??70Ix0 zeitWe`!nv`x9}L}#IL&13em-wXHf#ScxHpD3{O_nNO;=lI%j|H)9jl9M5l6V38{Qf za?sx)#g~&N4pMhToTeAf?EKL~nes!*wNeZCX=a8UNnI)7`In%(tH@~fJ!ki66rD7b z_)Dtq*P5R8yFD8?;?5cu!QP>Rj?y#;Pd2jhc5=o!NxpA3+a|VhxBBKe8q-#UCPUSU zByN!N3I3Hopj0L89zF-b9f z;VECg=xLDF)XTNc-PCf;*6bwJy<(Vuov~WU;PlCT$+FN`@C6vzpf-k@p z76jU}UhJ}tXU8vrtO*S!a|e3a7dwEp`G3|~)C&rJ8q2GA-Gz|Mxazdue^V5fl-b9L zP-qu%y08Q_TGqIzmjSX^7+rv)2`J~pH-inblY>-%rjvl+m-&F?eMoO}x2Vvl$g0%3 z=t@gy1MMy6F(s3Qh=MYFFIqmE@N2ABXqd5EB#i7q1@Wp>(T zfi^hJL?(j2R+*XIPfvdoqAx`Jep?&DpUY~@r=4%MBPx_Q@4*A$nQ_0!Vn<&>4i#7G zNBNFtE%LowMt(dou2*`f{My`d)~*vE>shnz*Xp-cy&fDz%_D6+IF3V-w?6Pul zwGMG^!e1X#vfjFT-5D~+lpk>M9oDOxjijg|%taKs?RS!BPlM-)=$*1SbFsZoph;1o z6D*vABSmFSKQm;p%(s>(v*Z_mVKRcX0E0IHb-=JB&k@)Uz&H}x@c4vVZzwtMNxI^Ommr}lyIy-i+790Z=UW^G!@#tf%axy zzbwe-&Di~}ewx1xi89)#?S5jwnGIRjjLU%N+bj+WZ_6y1v%OdK{63JZqcfm3EbOS# z(&&FfnkwJ+8Nb#*QpvE;)Z9j3R-ivYjwRqby#a;Vo@wmwjh{S{U*vI+G*&5EI~Gm_ zj?c(UHy!+3vJiQ|etiyJn^_59Es%9|+fyv&1^yOZ?aT|iNK~#gA_x!>+)9NM2yNrT zWrO>nPp!?8=&vnE;&j0!EvXl|mF!J78f<9~Gd99T`C;{+2NOT|Xm*3GHjzYn9Ks-* z`0~3qI`@v99`(fx;9$nEU0iFwrZ8ub32qsJriYFYYj$)i%id%;LhkB7Gb4V7!FrqI78wp>Lh85?9dxBrcDwV+8+5ZxVK#Gczm>W3 zO!H2D<|Sr+W2r)nYRQX-pPFfE&=%#=c-BQ8=(Kp@;FdVuQ1~SjYYEjcCrKtj`&&+R zxwcy$y>y3gYTv?n5~};?UW-=Do!I6M32q=YE=|fSGqP90(cbE6aDmm^Xauo-jxdtz zoaOWs5`!WY68PwFgudQMtzsm6(`xfSUu6guR)9U}Pvq(4X1@fo-2N{6&!6J}ZOS6| zkq=jSnEPP8kDrG99frWI^uO_3kuY@_h(vV>z-g_qeb!uAlY%I27>0jh8c@5)@sk;Z ztJTCme|=^2_yS2$%dNvk;BuIG`go>Tm4;VDdJ31*Y-nYg1w-0~CJ)idDXj)h%4A6D zwFHLfGy-nEyv^f1NbehP)xWl4uJvs=4|mBgM`o@}@hg}u59+-WHr<`&O0Kn_bU-nj z<$8ITaiG9VVkA|*h5pHH4bN)M=Qo$Z-OF2NKmh8Te*jZ+i(9x$g2i1YgOS-AvmAJ^ z8C4GM7n)nTXNKTXjf1ZZ4k$LSDRZJK8bPf(1LPnjr8ZZw)<3FU)=J?rPt`N-uZ5?(GuMBE zCQ2h|zMPi){59GyPmalknMQ+Xw)GpEE#MwW$pfD}PpMg3N6WO**{&PONz0l({CxrC z64Tyh4j()mUf-01lCtgn2I-BDJbk3k1>nse7REJ6ta|1%xg33rZx4tx{bLI~EYl(A zA6)Ws^~7$0CBp_u(ZFk|X<5kSxOh&Hh;RyG^(b&X;sg~UlpG3b+L{B=^>@?2WnBQ4 zIXQ+?E<5Df=Y?Bloy-CQxPsCPEvRp1%xCOQkAS*%q!=f~bV3I%RMihdA`a^{qq*;iphnFLCidpEU}HUb;sMh$Jh?|MKh1BG^aD z(n!)o(ONhtW)G-n)RE7YTEMPGiydehk<)@w zYm5j#stzg6xm6to3&wSP&(j~34?g8uWnJeJBJRpPK8B^*K1h2vicu+5U}gbQ28Twg zzr|NV@{HR{vp3m>4HfB=rXWED{$6MiO&PYP-Du8nJ|8FY1xG51gd=vo@9BbrnPL{q zdmt2jtW(vxQugNxRr(*;q0F__EC2 z#>RHoZ$9gpe+>p1B=A;{Tpe-XFt%Ye4;V1lqMc;ku|_4PN{4-q-|!&Y-yDv?hM3kw z*$C`NxBpN%#F2Kawl8g)#vkiuOBh>?l= zKoi=oE>S&*#6o)AFK`gX)w~;H`OvK`)0XWto2^NC_J;j>fCrzD(6VS^U-MsW-;7Gg zf7GiEaxrX5o0MzHASCZcWcJFMkHJrPsRKe;Ur8hBkwwr&7nDhP95fgDb>^Wp|1 z*mB5QE$beFckC$$K*;f2;sMP+09hb zOJ(HNieilL`mK|FNOj4WOlIs7Mm^ZYUwqBbMCkm$ z#d*bHO#Aa59^##zQ>+eau`5Fq@THUlF1@3h^84|&w~Z?s)yRDh0J|&aNT8;#?Hv(% zX8M8FB$FZxTcmG_26QAkcSIR(nu~LEu=y_ZY8`ihP>MhYlfV}rhg?ovJ{xxYvzTg? z>odpcL`Cr0|3T8}5!j|;?MIIK8HlvCiC|eKyNn6x`8`27^VJ8gChI}CR;x8pTviJb zx~{ggysJ(Lz83%X`?ao^RjNpV+GdK)YZQG@qkeB*RAg8U~c2XDC zaPWcmaa|cL0E>uAhsQw<`1UIskoybjzgpmHB0(|y5hH77^xtosezAzv{DleHtp>hg z5L_@J{D}7k*(?Eck@j6?bxtB4ho24;fh0+BGLeR6@YU73EK(sr+=-}|`13;0$akya zd|}IWgpOk40Cz4MCS`DGjdO(D*J2eWYv%Ik5#T6N8dF%wgSje_;0r58BL9=uyAnP4 z$-j^)>Y5d0NyNkSsP&p0>bT;B`Bh-wn*wM6Tg%M<2lzk-zreh!YA+`V3hfib01)y;AFH@0D8B)1fKWunsRbLi*xJh z7h(X~am4zNBSika)t%o%+7Cboe4F+|`8g{nXBp}jE1;0(o&m=Ct_OIC!&{2t8kWxi zl4BWYbrx4l+jq3EaowB~nx6>RZRVkSS{GbWmARsL{v4Y0am}Ee~{S z8S!lZJZ>U0QNVl9-MO%Jmd3uEy{l=`NLte~Gpx+m|CB`%xp@VaZpsASws^H+87Qbn zlh0ZfzI;iKEnraD3P4a1Ezvgsx>=;+_{iF<%1h!hz?wAc_uwgbk2XV{@?pSs+6jC} zI@~#9ks86ffp43Dfo@M^$FIIU5vTPXSQ+yzE^5FUnpT)=UIFy7zM~niXDLhX6@qlI ze{m(>(DW87e;7|`x~O-?P~_db3s~GPU$g_{8|PLY^i7(7z?{syER92XU;iR&kcq}~ z@TcaB`r$o5QQ~BrX?=>uL*8k(Jj>^33-BS|f_%G#uXx^rL!t6wjSGuKr{wo(V_^#Q z4lfcP-@z?8zkS=m8k>8*om0o;pR`c!07?YX<#?Un)Sq*?PMk#G#+I}pcw38G2^m9M zqx}&dGS2u&AEZqD*wObDEPik@z{yCS=RR$Uaf2IUI=Mz5P9J>Pd^)%~YoNyA@45FG z!9M?a?|(JHwTTA$UkGHAcJ9e>upZ-M8|E|G!0H$C&_>}Co`UBpL&_)m7~?Y*Nnrg? zTjoBzgv_@eN>vdZ%Y<2MqkIl;(ms@|U21zO1uWGgkK^fsZh>>+!##l??uX_2v^K1C##|=8&tOP4hjVF;lJbMiC?H?14HiokMP{TD^R+= zk9H#ic%1$K?-FirclwxUjBQ)on2B);GSn?T1oUNjl8z~mxyl>x2mzj<`fQA+N0ZYk zg%&)rhCr5o$ySGSxq@$>%L{wVReeo)Jj72>#>w#UaLtOLEB>wgk0K5N^z+~mKCoJ_vqK`OtUnl?zwIFd{ zwOzKZc~ojk-jnM5m!u-&F{#d0%6wE}>5ocv#uE}veN3V$Pf2C!bg9_$lH_lDQQn^Z zJDpW+)krgyoOKJrH`SN@>kR6a_+MM7nn9Am{z+ zOzGXdo9*p3V#r`g-oDk8At>>N3>hZ#=Py*=5E(ppsQm4o2c%{5R?@slGx`1RuC?-L z-K>?gYSvu(_310$JLzOo*7oSqU6w6bu9L(%>Dj%Py!!GR(zbOwr4I7Kb1%yDXI_vF z?K(K5R#|1%zbNSjDF4Az%a^ZYZG>cI z<(U#0%TD$q^SqB@%-r!-RhU&ON~?iGhsf%U>)qas`YjYAJZr9-0fd!8#RW2Ub?6bYcJ(^@F3Lb?_x3$9dE68k z*ng0`_Szd(rYE0tnruqiZZZPJCpA}A4#0r2kCpp+rild10C*fVY`Cmhx<<=cAJ8mB zwQhzE7-IV(BTs1i26pLf+8;`Nevo%8V~Gxsw*(+v%NRu`i&P?EEEOGCY9NM|A!Y5r zj%ow0=$wcP#f?9Qh7KMg$y-!5qHI!mLj3}ahD$;ekIIB9iIFaSys#`RWt6v`n{HQ6 zm=HM-1FNzk0}7F?)H$wV0jEftcbSZ$)~p>hjaZf*e8^$4W z^+$b^h){|0fTj;#aeL9}cd=@wtn{4p+CF#WFQWCVZ9?t zMIMpkyjxaME^Ah;wfgWD?}=dU-vjI>2CFZPpTL3}0t#lXlXfg~xepl0H4p6jBk2Ro zHHD*=U45M^q38xMWn-i%0095=NklY?e5@2Fcm;u_$MQ>@ycaJ^jX06`%)Xx@PQI_-A@A|`Aa{>? zbPFf&N&o@!+4K5{f7XF>E-vj%0VM=<>`6GqIAkzO$#yt z>rk#4xS@RP-27@zYGbwtjm1Q?PueL9b1c=gJNg%G_qc6#;E=s#_02C*OPvGiP%@-} zvbLkv2mC{sTe`Fjxcs|1^kq>~3;0Pt;oR*b1C5kViIu@U_2MmjU0v$8R8H~R$Lj)_ zck#Nib@gH7e;ZNujwnw@j&~_jNA5axXYw)r6=b~6Q#l?Bw4XwT5nw@NuYN&;#uqP- zL~Jt2Sl#Kn^!=10eFS~5kB|EtsaF<2Sf3jwu36p0%g@S1|GP5b z_-V37c*Y0L`r(^OmJWS_Woz__JWX!cgSQSZF)ELcgXGN?k!UAuHyRt4smyPcXtTxZbb?$Efi_d z;!vy<+CqUsDbV5?+$|x*-Q8WUd#*;;`~9prbMGMym0wHyf1Z~~=I(v=o;|W=&6*`M zYb58SZnd&KoV8!#W1a=4j5qpORMblL6#2q2aF_I8ApEN15a^-bF?fF_#pH0XXWvBt zcO#vHmccK8kBpaZGwkBQg`I5}b}{N=Ea5%r7(>7K#Vadt1VQw8!!z=R7Xdyl z$0)GKkhH|$l}8XyeESdK$m`??QR1pzV|>PiC`4bRB^u;%m5=lNwo`H*vJ3M~T%ZO0 zj|((>@mL~H7Q|5<>gO=xaYT$njP;HE;^DHr)ez#~aa9r~M?A97eu@ z*9tU{@e}84uZ~CR#{0<6Bz~7iY7hh8hVNsj$Rp9lZ-kg097xVHMCujcQxPh@Ne&_Z za1HGVyhu5pLIhwQ^+Dou%ArHxMVYgFVUPL^FfhmQI?QDnZ)N%7L*Tpgx!(KYqr@Uw zpI4NMn#THab-ZK_aY_?pqR5*Oc<;~ms(kob709@NSBD2AI9-#B&L_y-1h2OKAjjkN z3rMkeh5mEd#uJD#I&M>6U`(At-2=Q-W9NIQPblj@8OR^pgEm2vpi?|!=WYDWd+1R# z25^ODL?!(dS6t!mdB#Fl-n00N@eA+7LQ^(902>wzL*psKy=x@oPuhnE5j>2!Co=K$ zq$mF{c08GTMshDm`VkhACiqt2On43(6?8S=3tpkXwa9mpsq4N<*i{@BmXTLRR%+lo zd9O$CvM%rO2|SnntBR_lXo%_ueIg&qM;90S2Y8WZ)K8Foq@P~C0{MbBEP$nL?tzKM zDmp%?E$~IiE#O{Q%v^ydgh*GIOQ9h|+F9YzE9f%#E-c=rP8ADs^K*mFDlAx6-KoD| z597FRU$N?{K2m=m+XVPB)-;#l%}?LKyW9i1t#Ekj zl|GCMZ0QREw3+7^fr6~9VpT8Njf~A0Bfr>I7R~x*1Ug1fxB@GlG0!m0s2eaLz4ILj zn8YiaH=G7XSS98MJ_Mg)-;~P>iGGXo48Nh%q~$&>EyeSpJmxp*4BtZ;c)fxC6yqT= zA=gA+2;Cf40&Qk&&<^^>7ruKP0&X*B=H+J!M}cXed%N}u{`*SQCqZU|K7|lAY;a{P zMf~J9ZH8BOIauw9Iwjh|?|2*=WxH-D(N>3n@PahJ!f`_NbT2*16C7ZnDKy&k8M=b! z&{Wq6scgmI<)e&us)7&{INHY=2>je;-p2k_pseY5^L zHapyXyr@25obxoypU@}TKy-Sn=P_US0zVE<_4YBYD-oW_$F$PWH{c1_73PMZSBx+X z$5`PlP~%3y+Yh?vTLSmVzX_BVLmVR^gueP`0{wolNPtFrzlcT?G0rm1z=ue;q2bVd zeiKLoj|#k!=K!8NjZg5Y-y3%S;~{o>QpX@+xDdH|6=>MJ!^Y5J#VEOU$yk*FWY-B{?hgpFOp!r zK?4ruyNHbhuwBI>G(zJ2#buVgW1F3R((&%1nZbYUFMesWXDt#U?6!^_d)jHIpW}@6 zvV}{nL#sBnYUxUMNr_?iu)_}bNi!uiJs7SQEp)f0K?%Lbax+rxm_tX{gLnVRb{7l5 zGSjS2kM8#I`|k-9`z<>&%Z3aYW-C^#vK`ygtz(C-cFtMnIhbZon`JE;H@CSn=J@YX zBSzY1AARh*qA+T8Y}3JZY~F4g*Ke_o?Yr2aBM$d;J;p2;zSG=)=$K;fEgcZou6lf(ndYfNBcf}k$1MWph2O|t)lAfOG6BJ5p#u}3uI~iJaXlJvR zEKDfx!)}N4)HFCO+qz+`?bZ0B9_?B-v)R+9I1>6~T*L&cNk@g`t1gs@K%18pc9A{$ z^pkeaqrbOQ5qU;kX^|MYtew`s*8rP6d$u#)&NPcCkLW+Z)~;OPyCRt6JGbv(+tzNf zUAaZpuX9iP=>%Nb{ouTdH0d*T z#H({SmUt7C+oik+2kGQpk$#aE} z+66NTlMiD`5Z~ZCT@WZzGq%|tF(>Q*0mir_2CDP{Wg^(+7w1{gE*S1;fDtv-qzKIO zbMvf2o3=K2`~;_iyEXo!;U?AxnCBOj+O{;&Gu;Dsm>?JjCe)}{hR(%ZgnQUci7V8S zo!)K?x$GqM-FoVWu!x{UeV1-6TeY+4!XsQIf|otI_pxcyXN&Pu5*3)fLyRYktbQ;w za&l4H2RIPH$-Epfbb7aA%T|YX*pX+x$N)SmR2^|84NC)V65^!HcTq8MFvBk6ERL-h z|DIu&@k+kHE;6h1AA#S*gOO3(5EGbV2*B0_2UQG)(a%lR2un%Z=6D=-hwQekTQ{pL z80)ahh~0oRCNgkD-iNse>-tbH;ky4m6$-l zW#3J!JYa^XfzzBs-vz-`?*t=oi|FH5(Q8aS^pG|Xfh~D?{)*|D8NM5gy6_ue&IRxU zeW4KW4xyUgVF#+lsm2+`T?Bd3!YGG+17@Mz7`!~cR@@W3Zu$)~8Pn5eVX;cZ`xt`q zB>_*>CPq?}r;0y_i8d0$cL|`W1yRWqqXU$_6O8<-^a!9ZvO!rJn0DHUkcLVJ3_|Ea z5CcB6-xsBM8G?y$im~PH)>U_&K|dLIRLgk7lY*S)?9ju$BQ6hP+?BTjxZdU+m6lnf)_8emJkE4~SRcOZ=8^BBw9C;AOu z=+^my{o)n)uBd=>-BIua-W35{IeGALoiH#`#YktMIp7odk~{fwPk)v7A9RVR`Ou^C z@-qBg=z}2OhkAXdhFxHz#Nabm%HT>LQip9jwwAXi_7@?x#q04egk)F|$=7L^dKrA9f<8i zf#MjD)CTT>e|R3o1?h>v-W7}vbJ04|zB0F8r`T&p1uk>+ZvOR=PXS@`^Kbx7YF{JH+|2pd`P1D%JC!-lf%KDeHS6pg-FwwJO0s*-T#JRH~D+OfGibxXx_y+j{9hkK+#BA zu6U&)iztKrU3l{NfauC#(GTbe^pxm|T#e;uP-A`sK78UHGE_gXCg6!+ijhJ111=$t zIN4BQH|lat@X;Qj8_*El(-$$&C;X;Act?9k&fHd}nhS{p zKA~8zTb$eVad|BNP2n+6PV&e}$|DiK8A$)Pv7!v1lN=6ATMnKhaQ#0Rhit(5k41LC1mo>upk7G3>HPg@v%Z zcN|puU~E%+5^(48jeb=Od`}oZ|LMS(fJULL2WBYXk#E>}%R6)%&?)E@G>I6~BU7WK zXEzwnqk+Jc{t3e_b8%ilzFmIh6>i9j{5v5S^fX6{f5!NToKd>B#0tuSJ_b1*IG~p* z%qj4V0*tFd7Q3=>0eGN)P=4@5j2G$--XnYDXjQKxy@!bPR76+*1GStTfNd@kE^m9O2QRFUTEHZ-LAh z`AF&tjdDI(!_gO$2=C)UIXCJ`wg|WuJfUz;pAcF60(`w~${;m8#pyzXvBOooPn65R zYp$+C1m{%-<)P;y0#6olmX+awEl+b0o3;c;)gfCjaKoJ7!U8_$?IUQ(Y@jf;Z( zY%3{JKPmybAdb!|+l8^dMD(!0@(U%a?Ju^1B8?B_=sGW@UB7;##-+*@4n*1k%>sXb zLzsK@TjhX{=z6@*6ltI9HxoDsJmLlfo&gUx=sJAJgS^5<1n31|fsREQ3H~siz(MMR z&J!ItGf{zXh7B%ZF^6!tG{4-q>&KFb|BFUe%JP0;FsnbA0P=Iv1><~uxz{#r+iL0A zS&m2OTU=jEPQX&~0%L^!WmA>ov&IYMLbqtoZuIi1uk$}%+n|@>H!*cbio=1xdvJ*3 zZRi&ka0glv=m5A4S_21YKr{|R7tqa;0q}|Rh!DpCeH7=O5dU%D+XEx{5ZJv-e$aJz zPVV6?pzE|f(5w<4pFAU7oC8S9v&g?PcA38-pZdLF_dg!~`HlxiK)(I^L3GY4!;RHC zTQ=*@wmbbjE8F^l6|Q~EO4mPZyEpt^@wa|0UGqCDTl1)uu6@$>ZGGKx*N(PN-?&{A zXoV((Eg~o)jvNlj5YU9OTa)`?Hfs<4@TI=l@9Mn>B3I+&=%} zE3ebm4O{GqKm5^NdH!YJ)z-ah51TS&nj<>~m+No3(O!D()x;#Pj@KZ}*s;}GG^l4Y z*d?fey{mYq4d~O`QZ=YoEL-jarf=W=_VLG``u(7R!`$%7>b`6-2N-`Sciqah)~j20 z+p=M!?G{nXN=vuHMvk&c6DC_)N~Rrk#IZJI(sU8Au==QH_dYgt@-)9^QfCM7gs~H? zW|dlYNTsS)y=pD%*0q=Q?9tbaxk~1{9k?PeaE-|OefaN$WSYP|v?AGnlx)~_LlZ{b zgkhIw3l=SO-XP;P~0R!EgCbdf4 zkzp5{b%D*9I>$P;>S&7>E^~wH;w3ArTd&?$wPr1=->`xG>CaF4gu(coG;y4@Y|%vc zR>|(U_f8u$Vwk=8(fgVhi>zIT;8vW;uUG_naKGL*{_{_4pT$5UsQqXRLbt%y@!4I!N*9<)}?g^8~6EGJN?wNT;^T7ZjyKf&GKYpSsD$YLh9IIBXhE>y;9sAYS;T+oirOqT| zXY8JD1LIuMOOKcN>-zKW#Q0AVphVgNnBD_ty0PA)TnC97tOQ5{rh;I z))##}@BE9bdGnT5vqoKO(zK-w8GeMrv00lD%<_PzSr8fZ*ObYuX83eUko%LM`0Wlv~eXUjX}_6O8Pd#?tw9m zHR8AJ*k!K3C{LI;ak9@5)2Gk0HEY({7hjA~AG~ItefEV-m@r9sEVF6TW_WsccdHN? zhjr`LC@%!AAkZPOZ{M+5DPY8cOIhBt%P0OOT~rWrADHAIK>V{YnMa9qi0GZKzCc0l zFx1c7Qq>znK4s`P3kF!J%nyFMVoc0C3?lOi5yqM9=wlbMbmeR45y}Qc9HQ4lFKHu@ zx;XQvZ(!ibpFSlWOsu>3RX{*TXoUHN;U^DVc2ZwleWQGJr7UF$M_`^|7Gt}CJy*hk z*8@Xxzr$>jM^ru@7|4T2TVwo2t`L!f#PD6{M-bkXU`Y`=^NmPK)q@yAY#Rb5wS$G` z-dBsmYY9dw&4meI?Pc+~N4+6m!3@I=LJJ04K!V@`EoJ;83^9(jZxz3$cO~j)`WHj& z-d(~;(c!-}>=FYW@H-0n5qBN$6Kw&P9BKy|c9o9bzC%H|kq^RhbZL$7$un>e=01#- z3g(I#?Q*aF!V1)6QfN|^-?mZ^v&P0s$Ebr&U?{b(bjT_QcisPTkb^|4SsHbry zZCuDhPx_sgCAiSeq)3~HvApu2TNfyGWt^}OkbByMq8Y^kc`-+0^rlS8uGp;`1nT5G z!5@mgdg$Xq za4XR`^0RgI(v7$pTkx8sMX`hOl7%6zFjRWzIxwe>&=1nWM`0XLlN=7Xs0ZI!coXRW z?fW*vF7WW0C13+w;y0e5k~0UO=<%H#`i-I$`N=Dyh|&jshQK3?x+rLTE>gXnXVCL7 z?}YLgdFpZ9>P?LN_d3x=eXA4)8g`xb(OBh6|Dl+O3OyD;MI2(j4{Zy=MX>dPFd|tXBjN9O}wD(x7)ix50bTQZ%t#{`zMF z$rGQ%`cqcu&oI`JAu;H{Cpf>LdO+)P^E7W}=lb}?u*+^OdOIqjotJ=AC~daVc~N{A z%S_M?j|!1@42o8G7X4Ooyg=a*3hdd|gafkte1*&|eJjK5OJFt)taUU5Fo;Dbd zHD8EkF&>byD2EJqPub8g`XhRU0$2RK=9#>re9JG=*ipH>M|Q$!#tz~_@y!?zn76$( zj*}V(Dhu3)P7uK9*lyYYtRfGUJb(SC0x*CsVU$IYPkAd=tnhcxAvbsk7K|NeQdG!C z11``1o?(}Hp9SGpUwyUbO*^4|1cxnc@^Md`&In^9%kmBV0H2Ukp#Iex z-%Uz6B`U8}biG7{>p%LBJjueouvhP$cT?TrF9MIGQZG&S}w_(t@F`QRhy z4i4!*JQciEPBzCR38z#iuEA?q=&Kmh(!-_$@NV_mRbEwK4bH?l$MbN!m5frDYj}SH zhv+|GKzY2wpi5fXvQM9r;H1N#+Ll1Z1&jc%(eW6>axj;Y!Ol z;32T$H-=8yN{nL)zR_u{^D3mO2=rA9+|y?cHzlJy+Uj$UV6t`d79Y!$5%YuE&~D~1 z`YP@`j_){<58WhLW@Xb41nS56)p#lcM&Or5MOj!h5Ei1MBW2N(aK120&jKIJI3z9o zTZOMos$`tyx>QxW5MxiJ*uuOj#KJ8gI4tkMN|2OS?U@C5>1FXaz7^o~dx zVqrm%8^X~uWTfv-b%Y;aNYBOM;9Xi;TKW4(@413s&~NS;ul)Yru=|~af3D*Jjd!vL{r>&9 z9?j5$^|ol*pKVv_`?hDttF~+7Q?_r@W43?OL%ROf_HKO8_HKB{%GUnDcCL8Liq}4G zX-i+Rk6*u218co<%}_r1DxK9An)Er-3}Ty?ZLOL%v=&Y4S;KlYtxoOgZbYb4yMb-q zl49Mu_i+PHTAJ!0hU>B){nXxj^Ibo05ckKMHlY|3F_7T#!yo_14Z9FU&gR45!4BP# zLk8OFWs9vKJ3|9F-@0^YZ{x>~aRP+Gp+}EiZp6Xph8t)Mv<%G6DtGvxVK#r(Jlj*U z+nP6SVpAth@^`E<>fEu5eKlsB2EJMAmhIfw<^#I0%!Uja?rxf4(xC%G1`V~3-u>8G zH*4d}ct%>b4^{{;n8>OsXb?tT47|}rOAPeK_u;z@$uxm`XhpIC>0pN4h4UAb8=B@X zT;Rstf5ouN6ywTQlulyG_7vn>k4~Lz$>N1}!_BwY!;k&Z@q=CAL;DT2()>~z(0ib* zTCvudrEcAO+jB3y>=WM1*|V%^^Jc2+ToJ`=>)WT7ee~hGeg@&_H(#|%l`Gl&rHkFT z(xqEhZ&OBEI$VhL@7dF4P8@HAxtTU}Kwn#>@xmnBuTNi_K5e$+=GX~S?6D`G(S(R# zDSXu!fZ6RkY_M(61dKV$1zt60PthJ96HAsYb!IJ7j9<2h_K8OvY0DQcaz^y&KR@M$ zUDG$LP9D~Gki9qh9lQ1BJM4|u-xd>6>W17=haTxncHce&ZOoTnyFoiGHOo#q`3wp6 zMYev!Rx#%&gMzTn#OIT*pvz)5fQk6T;` zHgDQY6W1)YyVUA7s^{kjWBB5Hta|n8+4yl^Tgvtw)~H^6Tf1_V`hKsqZ`s;bE?wq3 zaE?9tIJ@Vb`&{t~0|zCTyKsq}b@sWoZF^W5#pL_>=bySDB51o&cj}Z0cJ4W6_-~jZ z`kmOeO)GbE51!4NHQgTl{R6f$H_N(q>tUaM`IXYMnykRux9e=5eEda#q1uWueEq8B zzB9Xj-vM^w38y;E`g+_XwXv0@Y}sL1shRHP`o(9TQ~vwx&rd#KwQAI~8M9_OGmdat zrm;jDq7jh(ae5}4f<8v3FWIoWXhFr!+~ml(;~ZY@4`$d66F$snpr7;REpP@YxaZao zORR_`fFkU4!mtYt?AVc-NEhfpJa-d8%y;KHQ>eKmAxuTLM<^g+()kUO&NF_OE4US- zVDQhxWF95bA%6yws4c0C|j=oTg#p_X*efgt>a=gexpic{&BXA!Q5S$Vm>@-gi63^+j`4`S%Q z@a$m0>!f;+CMZ(EGZ;*+FrqMkF&)O=oP&k>d!-k}=)T;zi+$kDwEVA#bKX;3gE;G=}f%5i~v;7VI5hbJyn3Wmg>L|3Z6 zYuME{dIs*HAnBZgYX^lr~bTS{Coqhs*Kl>@#ZnWM_DJL?s>+%nG`GfD#TcC z_(Aa34e0s~p^$!{0k}p(SVzESyp!Gq*hDdal5`a8?M#Zmix|rzKzGXfQ~9_cEBxm- zJg@IwS6vY3D3^SEwS1y(7`>yR>%eh95g}HT`OO&K2UzhV!YIHI*n)!<=|jJT_rNc{ zOSCc3ALZ>-)~;~T4Se(7(jv=2@ZMA8tHl|6%z?P413wAg2W9GSiqRuLOWdQr2PZGNyqnNj68v^%4rEy%O!pbiy zzW4~7rT>_JQASc5jD!gGv5v{%@6oh_1?m%FMfBEszC2JJPzH#uK<_c^GM2J)^1Ryo zVHa=sVV0JaX_*PbbMjFyC=A$H!j4_|E8Lu^cYV$d^FjiajsszQ#SmZ{;T$4$i}N4w zVb?-bY+=A<*E;w4oY}4Cu0YXm=p+&NMMJCCFAZj8ga=W)*so-!YWqNg^hPgFX8$0%Ms7 zj)D8|#8JtP5{ovX2>W*oyZ_gA@LkNu`9zV^AmHO^B@W?4<^#^jG~ia`FH6b zNfaYY2wa(K++&X9H%2_Yh`}K&41<;h#cW&{56|HXeG+s!DwL ztS?vkfe?&4@DHM^l2?j%i@qtD&tb}!`3>^ta8qXG?M{@zGsi;};YG%GWT@zK4Bt>L z1txAv-Rp}coWN)x(q>}# z9q4#@B8B)az=jap7UMTV%XN;w-`W^W9;gTaXu- z6D6mW?sWqfW7S>a>Nyw<9ix2T0Vlp1Lj~9p-@`{aO-RV1^pVRFK34Q75%^7ig!+WO z{4N4=4H4x%bScsvo^9Q_)vweK`o(=R9pm@kGwdQua=qe;EBrYDx(LR);H ziay7yVnyEwH*_D3Mes-LsK(esa3gZbUfZ^MqcRROgJRg2L4emm{$R&0b%E!nzo0ST z2lz#QhD87s$JT&@q(^Rmmtp|`^dfrxL4I-f&ceHx7Wk7##C!0UjZeA&1&4E#yJOnW zA6YK5g|QWI$nnVyTZJkIgH)NrgL<$?mgC46M|g>&%{#WHyZwy9HmqA8Xj=l_w2>p@ zSU|`l$|Nt|vAY*q58l(Ccu8YkM3%-ti6NT6Ghi0y6UIi=14KTOcDn9EeZ-YEBWpx` zzw1yE#yjR+V1aIe@1pL4XBf%h@##0@@ly2}v^S0~=4aPmI78XU z=sc$|@}WnF;6vPD>~o&lk1T_H0Zj>dzJ0+^op8krPe2}wE3cEd_xytFfKSSndO(YE z^D;CP1SicMq~Qv_$6dv+#8f3KBeTLd>pV$-5$ysuSV+Le0onsTc-;jD79N0u{B{Fx z0=`6-e}zBb05XP`CwPJ{!NZ207YF0=?&3XGoS%?e6#bYVRc_JuSbSfAE2Mbiw9Y-fWsG-s!yTwMR{4S|G@r4T3;Zq^zrCB=tfCC3zb9p9M#E~ z!`4Lod5r#w06mKG4EX1Z3G@RzqVIW++>fpfIDo?xf~PKMN%W$~xTcQ4n-F;?Xizlr zrtDDv={3&?jO#e(Fm?&yd!B{o|0wX?ficV}`pX< zta`!9wQd#+ z3b?=N(XFS1nQI*3P_8s>*}}F-NJqiLws$5Wh(oi6^=#&piB2RiX#DWP^X=`oM*EzkBdue;#+0L9~2@i3kl_ z`IGwrBnD@{58r)ArU{YIB^!`1Qu?mkgn{YX4Z9(h8+IT1gB#BNo?(}>4>@0VuO_>m zojcpSd2?))7^6`~9nFFx``!J&x3^z=lbOxBb?j=hX3Vx_%T`#IuHCIr6O1eRmEVmw z-(>H+^Nw&U-;O+Dlusn=TxSyO+`XH9Iewh4RBGI`i8BUFDj6cEP3qONMRR9q63elk zT{`-XU5vh!D;?rHG;7wX=esqB9d@Lzobpv+Vp5pMTX$@4xx0$3K;tR5P|O~TLfL-n z+_9S*o71wx8Fc)wru^6m$`00!?K{}IRjc8`EH5>~26XRZnJF0>W6N#Opdmhy|NN?J z?Xyq5w3O}X)=Bxzm_7$t*Wq}jvHOhN%Wb}^vO zoH^6$fh(b(UwM_i|NgtSC1ta<@6y56tXZQ%nY8!1LT1XO$^N^0=PovT`V8B)VUzXm z+1nP+TjXx$p=$)%NS@o%GL3U@>1$_jL=z4@^iZYH55*;m=ZjegLIbJ@j`3Hpn!URfjqSu4(btPS# zi@a<_ge_$qo@=l&4{Ku{e`k(p|VUQ8F$k$hvlCRqO&(3#|v0J}h z!eatX2ZrQ)NLvoR7*%^>><33gVp5{=KJZ$TUl8h&V|X556~AK~#BW{jQ@h|xaP3B) z@ReHc&-^=z)fgvG8gyF;Bxy=ma^Y8HArNSuV4*}{`4y-m#t>YM3eWb74sKYtS$HVn zTltaB-7BH&R7^JPCI@Bdbq$6X!OFFU^tl9+1fKjO!!G6cYGY;X{japlJMd?mp_7rG zd@K}l+#sS9r)^$Or@S3E8_EW`_?WsP-+)%6MxHRK^G=z}N?lNTp3Mc`Pm` zcS7ikZwt&haje0&a!pOyp5UL@EtaXiLNU767s`^<@g6>3_{kOCJt{tl^eg0t9*v4rzKwJ&KBFGgi+6FZf{)D4EAmCC0DRff zReH}i{yI?yjUe^kKN~2|7wT#BGWsyqa_@aCej?1};x~jA$VlJ-yGFuXDc&iuvloL7 z@~OKAP1MKd9q=iMZj{GFpw866Jt35mRy3((mt=urUu+EjR?b)N7Jem;O7eCS^{ux% zQ3mt_jD)80y!;*7T6iku<Kp7sq{4 zy#yz!5vvl6`pC`2mR|s05)47~6NUxkJorCgilK@*p`1?>Jl(K>Q7};!^9S=UKcOYg zuj^Z2jJr-?>@tjS&~a8o3Bv(9dRf%SVqbPz#qj}dkSjZOp;gSu{v4cCz6Coav+ovv z%#L2s16m2LGv4Uiun4ju(6_-D5MrE%|CRCf&j#vFJ)lL5H5RHgGKmt>eaMg-gKR1WTjh^ zW{q8bcVZ7(u*hHXeQsu!b?MyE#(({lr6@xSEe{{Z3&yX$9t+4~!$5n#=qJE4q zU=%}yQG_4HAfCmvj4fs9eT1>iJ?c=n9(;IP$h6Iyw!0_5g$w6<`JDf|EoGDL)j!IPsU;^XQO}aFh=qQF$l;~HpDA5l zX1?QjUS@$RAh}L;q<)kMjzBkKa5||rd4Y<+BUAD#`c-T#=mmV!gWmP&)!Qa~JyGAN z5b7gv>?#X8Uoo`uEjod`!~#@54kkzVr*!lUM%8xBn%GLU52S&97MFxR4Pl>eT0w4& zF7cy2iYj8TrN13^0!Bv4HalYEP;1_#zE!I#`XO5K)mL9ToVKmsW*wTfvsn{n*#08* zPYDZ2)aS|v-eKr~VXl{Ckp_zr2*9YgAm7Iz3jpF=8}XKJF$l9Eka{p?it_Vp$bkMf z?#nOqK-dCJfr(XG#t#d$i0I4s2DBiSmatPk@M0PcHLn*Nyq*7hTZ>S02u>f3NGP+;1dW949Y%} z;Js&u&7J&$!Jo7yvLRsVQ6S55ND7U3WDTIYb+x#tNMhcUgMw56<^7()v8n59(?HcuEcO3>SDmy#fD+`@DW38&GIFh zlr_*4*}Yb$c1^2ax1ODI*4fs+Jw}|luKed7!>%gngR6Sg8g6_+xq8EO*IT_hb?vgB zUaI%|-4*k+DbsDusliCK%vOjD}rea)^WO`|#a`WSYP|v?AGnbTGs2!Cf)`9mB4eO$@tNUyET^ zKT7+?)t>3W8 zcU`Vnv(_gZ7B~F*H}~6L|N2*3wrrVo>e$|yLMA_$w9Y-c*s67Fo%!fLaDdI4G1Dg$ zCfXxLjPNm%owmc>^v<0*%@uE5J9n|%99GEt{OSfqUlk<=6ov;zpkw#0mL*1^2mwd+ zD-)wolvnJolb5et5mq*8OyXV&m&0F=8SBW7au4G$ZQ8hctuw?Qy#2n9y9+P8$nLxM z0UJ7GBw(?u40fJ&wAHKDJCn#{*SC*rjx6%B!!wYzvnyuzHQ_dtJh+@!h@}^|`-3E4q+nT|0KNP3zPieb=u? zFIzNsp{-uF%9=KA<_k@j%p=^1Pd)t?yXodz?S&U!uzT*gM>JuVakg&|Mqt=5I_|b- z|N4~ZOC_5*W14+6_Dic>tA;bEVO1R&hTXgvidU>$t4TKq11(y#5}q$~K^7xS|K7c9 z?TV!?bk?g?+s_(jhYywM-L03+pE+0kw%&#f7!>#kHJ(*}1N!xMc)6rcV`f zr~3L%b~Ot8!IKD_h-{n+9FI9k#P^okbxnnx zM5%1}cT*Ba!+--~KG|Jp6}v{<@-zNc(B^UtXGC7zW3a#qx%G})zX~!`hl;w!kf)xU zwjpj_4j;%dJXx@DxIiNCN1++yo9gikHTVskn&P0Zkd=l(Dg1X|kNq@XIr6XARHMnr z*Ml2^(9yt2hoA$^MoT`J*n#j;b+BN1z*$9GCPxk#PsG~jD68pW=TqNK!bmZLIRw%i>JWm|#hwUY## z8ZHHWdT6Y`y?F+gQ|rP=G*-Iw5Q0ImL?j+IZy_c_S#l6wCl%&zILVvG^@R;(@f zDQ@BX7$>y|>Fd;)3jCBo0JPQ`p>l<9^=Bo<-x7c<#5{UQ?rBC z*Dqu?Ga+Mu{Ufubk{q9NCpKMdb?fi4gRxggzFpOcXcauqNu)9Ebbph+CgLxn#UN(9 zX;>rKAU|RoI*NQE&Ne8G_(z(T6+7Vb9z0j7y7v5Vc2H}wuK(&UK;W#Cm)!Y+$OCqz z!g(wD$fI>mm<`ose~$Dxy0=3GF_9Tc!J^Rh#peIyJt|Z>#py!Ggd=|=vG*oL4gT!n zcOQ4~u(g4f#|jqeeSn(COBx{ajw1CvMe<)qL~wXYO^&zi2_-Ql_q}Xk?UaOv+E93X z6oVfpQ?a~Ujb?A9?Z>ol{@+YSK&**`eFi(U&qoOw=p#kc8xblQ$}$l{#&BJ`j2x=R zA4V(gDQhs3OuP`~c0vSs$o|1yvjCrp#0y6)3hnaSEShjEJ$w&~cMSAjv#!!6X^Xrr zs1(B~<($47-I({D6ML6;N=0XD5%10h^F?NQKUTz{%`)$WG#@2^vTg$NgkNk*T&}DF zMr`;2y9Z3F(p{WLftR#7s19VEo-Zmk0K84WIlpP~7Z%XH@A;PC2Eu^Ckgh1EfgE|zvE`x5}cfll-o*R$m%cd{sY+tdRQ$9i9c zDus@20i;y$i!NKq_<7NQ`_ATl62=g1JqJ@}CtIlW?YG_EQ#5!J&`##l{bR(+Y7Ou0 z&r4BtO4h#qkM6g~Vnml;OL7Mt&^2*fbwY(-i}T_)1!JHuk#02dh^t80KX)wvmGH9@ z`<@Ob-3J`>8C98_*5OilET(&TeDqUc9=L6Ke^w-R^N96Avc=DRTUn*VkJ8z3fChJ@ z0RW$ITvCVwkPsdk}Qi{zcw(l%U$_Zx}sIv%U`E`Nb}s^I`jORF%VhTevQ zGj7PYsDvn#)pL#}#7Vw===zclL@)&nyF7Nh3w&X;L?xG4o-^BU4L98IM1^%u-aa`A-S?^n@gvDoyU@1zmTQ9sgjvS@LD@!kx%$p>-@6 zi)ChmK(QUQKjzDLF~)6R3m>6szpeRHM;2eaZ}7&s3fXdRrfRXrp};0A(o&s}jtMM5 zgBHG^sR4|O(F{yR$Y4%EZrJLKoU@?K4|3jlK^)WZY^7-eKXoQ z$D%5e_Ew0_^c-JdJaZb?46>6e(E$1-YRwO(-GJ(lt1qiXW6xv7L^KYpp_9gT2u9iU zKWaQ(&dlw=@9_&*YceHrI@WX7E@IF^49e+VSHyfp^A%2ZTJ6@+JIui8`d^F>wa2ZT zjT!IPePt2`O!Zm>>DgHsMLwuff4^6#Yi~y@8?z(bS**3Coh{ZcMYqkOXuuMV>&Ppa zOf%}_%9|KuUTbOO;g}lyDSY!K?k0FQ6H8_7AcR3<1D)27kRasAPa4@{@ke|03uP1f zJb*S@Smv*^jj(h`oHLyZ4XnE}`rRq7|A!4kfkF(TOLfE5JjB4tUQpu@F#T3%y0TlN zTPrKQ-Z&NsX;&{|)!dIbVD{|OW3qZuN(S%BN62dp2b9>XydGGO-J03#ole~^-#i?> zknH6nY2w22pkUg-!@yMjh~hPSI$tS)q9_&;G7@OC7mJEFgp~CyBV71yhoOxZm%ytL zVUm4~DN`!(3@y;kE0&;?fjpAHqkX*QwRIf8zZIs$s^yQvR3^~zqT1ha|KbHeY4)lx z$Z!jPw_+2xsXAn#iil8&<*b28fb-k&87Zz3{zCdULdFMt-E*^SWwG+d8%|25hgTB> zXs0zRp%{ik{Bs)3I|;`4$oeaTLzySd{e^}Y!2aCz??+EHaVFkLt8v}fLQ+@-QfgEv zna5x_nOS^2<$->Pj;i2MQPTdN`bM^p^>*)7%mlg5b2uc0+U@glfKA)W8nEIhD+g5fKF^7|Mnzb{rGrX!EPIr)?w^Vytckd-`Iks9-EdsE78dAB}ja2SaH8R)3}mw+4r?ihyHucJ`$$a=bab zp_mvR!5O&i%C#O*X%g84k!U|nq#BPp+irBJ)@bh;A=yT(Dau%{x?aqV?T=-i?7%z# znY@4(;1_SfX|8sU`vwh;gBG?9z?dYlpm9(?+Hby_m(PrS3Jh8VqRSXv`ju2{buZ2_ z*RxdY-^$Gl%Fs?l=uYd^*4f;Edhj8W!RVy?i;yzmOqNen1p0@QjSFk~Pklf^+@4x_ zRC5C`m(BDbnfI+Cd5_hCO>JxA$>RPP@tlrlmCDQfJw(#R=dE92u>tn(>1Cx{X)Ux#gkRo#*JqfN$Pp)OmxF>a8MFMN3gk!bhr(GQ4@&0S>UH3j< zh7^EiWb%=6*7`nqYwy7)ER?%wWpKK;ru6hKH<;NWAyhEYW&{hGLh{BA@(3mZk(GKi z>tGz*$0FM$gE1n`x;>PX2&YveG|RaxECiO3aWZ9`Vgf4x-yL;VrD3d)nE3{|HZhz=2jgb5Q105Ufcd_Ue{YzF@t_>c#d z%%mFYE>XOa-SjQ`Wt8J|lSJX8t~SXMSN$&fecs)n0Nq12CXaG34iOG6ES|?3S}oW5 zf82*72PsEIP?bC!+o=hXaK1AK-bI@oN2$|pcBnZa`bjKO0{wafkiMRJ+5M@BL+)pVQxmQ6^OKC%ZyaYzryH1j@z#5)p0Mk#;uUdG7|(H05$ayMg_ZR zudkm;)j6KdHR9W&fE^Fljws)u21~}?@7~l#F6!|dduadbHdMH9pTfmYBWgE4^s{34 z7BOb8oWP#47MmS7RVfJTiU^5@Mv@g3WAs+;gS7Km`AuB(=a8IyLqm*E-~6bKAq_Ti zCwmY8Oh4cJl)p9UJ1kCMB(>}_Rl6ERQlVCo$DA6A;)SG$-S#F^*WRgOLH+L|+F;>C zR+$*5J1x~R}HnlKbXXz)Vt z;E12yEBtEi_b1@b#Fu8pMp!$XQ4t%&5El=fy#mbmT!irh)52xbZk z7PK+gDaL%QVOCb2e)Swoqg?C#0Yq`NFJFm*Cn39j(hMHgrUR&tA(Fs9Q5X4s6G9hM z=kas!95^prset@JvFR+7x}r6cWHrd z$v^FIVV^gFH#tkQAPIB3KTN(gITS0HK-z2cOs0vHda7mVv@cG2Wcm^pFIYUMU4R*W*`B{|+L>KDsZw}Y{t!{{t{)nlpbBLj4ew4p$& zg^cP@3;Hy`R*T5LtDUb;X$}&@DgP4juTr=w z;~_x^>{^3B_!ky*Tq+XzE?_Lni&2;p-$v+DCO;kZ^T>&$&agjDHcq?lZz5Ds-kM-% z?MW2r%VhJ`j>ClG#gZJZunBPfrs3=0Wx>2aOf1~;I zY>eP7qUTvriubu#GCp5I<>bu%cyV$WKk%qF`@8&%mZD1IW z*nj`_HSPjuDouDu^IH~`ocROcs)Yh!?D#J&c@Q=sz z3hO$O%4e4Q6c2q=5RgXNLg3V7*Eg2?h}cerze@~lL(@KkDM9<|9~D+v#tf5Cl)XzU z5~*4tSzBzj_N%}YwVOLd$PMG@R(?owcEY~b7hb48MzbzG)!^@BqW36~vE71udw*%} zE?Y70NV30N311^zX-MRHqp~slK(+Z5<0}$$VXh(p7NpWUmLjW@8*-H!LwcOKD-2Wk`+{WdhBn@ulL+3ItL(n@>RsAa76slS!Ko2<-1EtV zLz~UA7Beh2OU;l8&}?q4TL}oh$Xa9=T~~|sZ>*OLoqnenMyvZtvLCHStYQ(WPAPb3 zbflImW1ep}@={JgeK(t$047Sx91eoC7*Q*1AZIgozlh*(1I0Bk*1~^#9%4<@fX?{` zqyZB*#6-z51OIXN!l@?{EbXIvCBPXhjpcT{qX%%l;mKN6gKTE!wp61Mmg^g{7PqUN z*3rrg=I=x~BmX|E%@|B_7}C2Ebl84&|2hcr-o>%kXi;EK?Qd45HM4fPhhilW`va3n z%EsvL3(Gt#OXmpSWO41Q&$k%c2cy2+Bx_z#xXtf#`mR(Pu&xuJwzW6}$q(onoU2ri zt#>>Usn{_^+QaHD+9;>lxe4+)J7@kXEv}osd@t$jx0i=z8tG&taDG}jgK?~tBE>Vs zoYn(@7Cj5(4*pVZJ=S1xv_iVUZL^$f=5ZXx06f+xJUgu0+{rvoJa3HeZs#^UROEJ< z)*kse)&Q_s7MPII9G(~*1rUW+W7jIkb3;JCTTk836@AtRTjOm*s0wU=FkBt~!h_F5NQas!? zS83ie8ZSFI7vXAk4!f&J;hXR}W|my(x657v2xnR69&$m!Ifcf0hGZ|1;(y@h-Q>QL z{DTy(U|Q(B3)5?7FsYgpavJBdQfc-kB7cgZVsaKM>4Xk_?Y15nAFKT{q}7*>BPJlt zQnsjP?tChAL z_MyAlVM=_&;`S zb#7$!6WTea<>aj6v_zy67hd!JvX4oN_a67jLQxHKX5-|5u$xffhr$q(9t4Tru|%{U zg~}!vy&C-+7hba1+g9Q8aN`Q+h!^x-Q~e7(8gaP;pUbOTsBfG(rN@s=q_+}qZ)Mc! zCy2a2L@k2>je?+YsxjyaazHz5>n!q<|DfabA;U!4jU0fzj=ZlMGzzFW)FXG_#S*yc z#aXNNH%N9Kg&{Desyg6N+lMh{nF#+cngV&w^FrMXQkTWd`PxE?MA=h|Qw+6dH&?p6wk;D>xw?my_b0dHE;`_Fy+)gsya) z?*L&BM-U4JSpZOWX2~w60twrSm#Z}IGixoH>3N;sAvDvaxhdfyh(U$$gKJUdE^}H1e+ZQ1jP{4Cw&L8aeAQ*4w+kkW52|T6#SI7X~vW z+tX?ZEM|h#h;qkGXX$PTOQ#kMUX^Ug_5<1R*xD-f-$>L(Z}wTHQ`haBOj&CqS>D6@ zV+df_zd@W9b$y1$YmJJO`qapyb8--nvw=C4L#A0{r?xV-y z2bo>{QE1de^L*%uC6SRic3r(<6nNTAz+pzMcsoRanw~H*En#_!J~06ZUV5!9&mH&t zR&ADJ_VvBjDB**!oHnlNvW-XoW@bw)Z=!kDD*>uaDB~TAYNZCKdNix7qeBhip{Na4 zM&PD48FugdguoZ{e?vR{k$gkVG&gwaJFRzB%M?jx`^0wFI_ptb0Kg07r#VVUGPW^_ zk+O@>0uI$5vXRE%JbtI@u{Cx?l>&guxiWIZ4RuD+*GUau9O7Lz!+zjF>}5p_`mx&9qD3$ahq?dyyC{&M7$b zu>3VZFbm(Ok2;Fu%lA@C=5MIsQ*g3pJN+FdcdNw2Pt;$E0VepQ)n-zr-&P3|P-pz$+w6xyLe$4Z9C0wY+uk#k(A>A3%g{ga}>WlqAz{G3i zaX+e2Zl=)Gxzd>uq;u+j?dhW|_u(JApz&1yt<3O4I;>5;kWQ;}Ls_>}o%i=tJW{GJ%8Xk0hTd4P?!o)C$B=BZ;C$SzGGDU$WvOOB zGXt?;iS8s>kk_)`cEaa20uSVRj!LJ4YHpi(ZF1tt0_?ermQ;uDKFVV&D!R5&S4;lv zw?@t*;|w;Ngn+k;yB6~;=(|{ZuK9${%rU!Tl9f#(t*wkbngt5J{)Zt8Sd0tCN5#7` z9|X7fu#hXJHb^V7ZSPVp_3TM6tv(Y}YkwUYrQ3YDI}C)h$VYiOMMgvMV0ix0azQfZ zf>AvHi0{0LZcR=he2&AcIC&Uu*#7+vB_HlZe37v7OE`O-F%EZRM(vyq#vgVp7Jqe$VO|@`0U-JJP37Z~Q@~sIW5Y!+}S2pGV z>;#GYFw_?A;ECEh(^V#c!CP~P&eYE_!t&CRf(;0CVbstkWw+MUQz0HzotkhJ+mZML zNwWm%UtFz-1)v`u!+*cSK|$W|IFlWsqg9tPjd=D**(*HItYLYB#1@wfHG)vK=?QQK z_b3B!$p{z{cw4d0=0%P@qIH#f@ zpxNB4EDJE4)=%i(ONAj)tc|d3H2s2WOYtWe%$M?vu|>1{SYH zwIUI>7tlfZ@@k?qU5#cJ=a}@EWTfE30)=J8$&nBG_nn&K=5)KKE3v>iV-D5JJ@KYM z7iU~)+VEm{(6c~EZ^#4TcE=H`n@iE<;Ty^aqFyO%Mzd|bRW)e7T)E0NsX{s7Rd0bo zrP?@}XrV!)p=7y8q<`&7U}r1Q7moB0^d!@DIrYCaW89BFgWi#U&HPDLi*^^_jTgN4(qDnkO*SW{6Ca66at`gkqlp?YMjA{)K$@3Kci5L~c25d@i z)ueg9uY9srR>7>-)?0zb%)1>{;8o|@1AliqBqC%B(LPtV-!C(w%Rf7wueK0PP?5lo z!c=Q1ePnr$A9d|HpIM$`A@H|4_F-Es7y9q0tZ*}1j~(yLSD2}}vT8{HUGFu_)Ei94 zwDnX}+}xj!%vv+&+O_O5zPX3={4 zUiWA~BmCBjZ!%*BKGXz8`kaTH*g6tydhflGYi~Z87UC^#zK4Pg@DYO6TAiB-XNq6) zbE1ix;ImZkh^i~Rp6+-=aUj5#)@h`?@Ex4^shi-|EY4X)_>NapF2oAH?zv{~dEav2 zmJxQ*{*b-H&xuB$Yu^QTzv?v6;*iMB{{2qqy41)TWX>hI)-MYiD_*W1X$L)Hf0OW+uqdfpDSwkSZej%A8Wtg-vL<@UFujl zc^@)4yxs}ft${*s2WBMup~~e39WQ4_@q}DzpU;}mMi$gh_L(dHBpuJ!>(FX}EDIW~ zXNQ+7SmuHgM0gJb$(yO3Z|j=5Bv-iYn29uJd|VFNkDaF6=Q6IMN`BabZ8B81Bj-_k zA2f5oZ)fp2ucLQeBgy7I&fBd6f12&CNkJoUtj_a#zHf~>Zts2PA+2mxi!o$gQL?Z4 z0ca=ev&X9C73{iewyo!;djI;b(ryk|9G`x+(BKuNw18_Ads^pneVC^{enYGp03k~i`Kuzc5waAX4#4+ zurwK&)nz9Ip#NyoM`a2KCK&AhD4ui%(7gPW94JS1N8#I;ytVL6kuGU2@aour%lhEb6<*2P>AMXY>Z+k zZ(GAb%F0Xz;$k?%>+PO5ca&Oo>JD`(vsQuC8QqOC4i9)bJdCz84QH*E-*y>DD-A=X8pTD_zcBNp`8}k4K3B5M3KKrR|D~g`K^P-a+(*T`4lx`x1kHkznRxY z6LR#wU>75(&{rc-D!2Y=bcLO@)I=z@0A+xFXv!@+|J zdkK^F%863zwF^R22l~{j1g&F=D(e=MiXz?t4vBCXf4l1IegtE#bn3^*P}@XR6hZt| zftM-}s)ipr@Nee>sGq{sea=)mrq~6%7PDG{xr;;PnOc?P2qA!c%Xu z;jQw9LQAt5PG2VZm4|{jVFky1kHhm(0?LWqwoyfZR80Bz!s&N0hhjznQ?%c{=Kt-p zL!^EjV9>+F?vMM0Q53?|+4u8N zjmR4Z4ttKFlT+~nDB4Zvs>AM_EFzzHGTiwi!=8^Agg|v_5K3x$gU>`+wh-Q`m>o;L zc^J;9-`P%kIgCIQfQ@MSg+Q4a{VTz@&@6B)@HD_A-yRoYGNWS{YxXuYy>8&JKHQ|> zwwfp5DU=AN_a~!f5a>L4!Zvc3gSj0)`SCg7FwnOkhk$AjU30L(s=8%--HnQ^5B7Qo z=K0^N(fMbimG-y22~3Z<4g#J;o&X9)5~|fUZJJ;i{wmlHOtQY)mM(09V;;uzyEp<| zqz&vQui*6cBI^xa{8VclMgq6As>(MteR1k&8C!{qfvVF5t zN0^qk@t&jooR2=MJxBc9|I|-cr;;(>WZmaDkmh1Fzp@ody5$1ZpBX3QGYSjY&c)7^ zYR_0MR9pRLqKVC!KZVT^8hIH$kh_$L)&iL(p>)uRsry~Nzg&3wIIQ!%Kkn$%TFsWm z!R{=02_I4Ie?STz?K6qk^!*OI4YKjnZr55}oKmSo4ZMEIj?_bmhpfo^09xkkR(t0w zwK6)T#}r%Ajrj2m-&2eldV}2AZ?~qNsfQc za!z@rVy<>U&!=yh)7JE^Vz%BRV6CMj6XIo2o7Y^>U90?arl|`0WyF)e_1*YwIB6c7 z6y%WPJLAHm*^&KbGu3UfCjf|CY|LFUy$MO0FZDsIP;9TCt5obu%IidUxQ`PN+>Ko76bGzwSxv158%13+;cfv@6OBYV?)gL61)S{KuHZ$mVJLPvk+_0l zNClp|a~V{umeR~%i{w|DY;4klh|yT}DsK+S$r_fqP99rMn%5jb{6BVp#x+G3KkGtV zP9Ei+JTJf#t{p~YXkFAmHwsmdDwpS8&4hZWYL)g-58<^Gxl_PQbmEv+)vq)DE$!>$Ih&Px&XO~N0Q+D# zAH#pX2U!o0(m>zE;|06Y`iezJJ4Wt8^c9Nk3twFMPB)xWrN&H1_J;Sv`dMU#DvREh z;P(=_tkZFUi$8o^G^^GP2HUPzs$GV}_JZRQmo0CwcF>%duJchF{n5n4W)keQy3aF= zB=>Yy!f&@qYV$w(RCI+Iqg(ruy|wEY+HJIu z3MWKPkSVuo&RYi#kYHtS;rlLKK+=^uCtvS}Mr}!sA>%o<71lV;@l^Z$wq0~mp!xvzNjYKr7s3{!E;qwD;9^XpY_Ri}su9*se%lx43q$XW0Q5{lS1+LWfE@0!Fxa)YpG-b11iu`hV~5LRcog4~HGu=0%~0_htO_ z?v-2_-8Q$fn@}LwOpV%&Xq$;IHX^_02SKai z>)KZ{vM7A>d44iOm*21Y8cqDX`r}o72Oa!b&86M*VHWsUMf#_xen3RzEpg`gYc$ad z!9c-~osV}1t9=2+wwOrFyPxeeZS$&g0~!hM|(78haZ5>zKdgSau;^{SVr{(I@ zA%aZEeMZQ@zNudq?JsdRNm0bBR)I6M^P4s#vD#e@&pdo?zT}suAjCxSlg>rI0Ry=g zJt7EL_<{+e_jQ>*je=HSjRkZ|D~z5Oj*3`}7c)pW=^B=Vd*1YqRD;`Xv$pq2DV~)Y z|BIF(n?Y_j43-h;5&0K18#CMeW>)a;(UmC^dQbq%$C5nf1M5A%_v@AvV7=uaQfdJd zfSnUrisLwLciu4|{PZZ~x`dVmhG2d+GsVo+0{KjkU-XL_XDC1P1;I2&kKqtq4%YYF z%v)<>Zu`;_Gc1O?U2}ZBLdkYGh5`2c<(&zaSnDn^DK~Gi*1LLJb(#blg5@ zSn!sYf;Rh(a5nO)=SR)ylUlY*IJO3c5x`b5o3R+HjqiDoLm};)g=;F*z*VEuVxz3Y zLkVFRVf-=&ShX*+?0Meav+nV7cm0mU-;$Lrd^p_Q{j1vl1KIw%=_~Xrj??G*fZsEu z^)!;2LlJ|@rP|hUprz{HtNbgCHK}+V0 z9OA3LWN#(p|NXM_y83&)^K|-zaypRmI=k}wiKfUMFgB;QI8B4nCJ*`Kn7}-v0n%`? zjwgJ4S|&;cL7Ry^5|?tnmdppTyehNomw(yLGEX%ZO(LzqEG%MB94A~8Sw>FD&ad&=H=_Lc9+QT^nx%6v@C7n;v=XVl`f1D{O91zz$?X>~spc-ma=h6AP~ z@cG|y*Z^(s9(}+9ISx~q1{9Vby2v|4rECkX2^!gb*92IZeFy zALB+@&IV)N4O=Jke!SiUr##6;{#E)h6TsipuA{&8hcyR*fx< z-=uivTWjV0>%0SFwqg>{6rOE=Sl7kjaUDClfC>lq|r#TF$fvKE9B$ zZ0OIf0}Zln@E}>rM$pB3lKJoOyYrcebKnix0ZlE|lOgP#RLE}AdDgN<`|_MNxKyo1 z_mWLaqxIH$ZG?MN&#un`q9<1p(Q0&S^z7DGgnmwRFroz-q&$%>_rb%O_i5RIzw%jD zm>8ee&f91$uDTnbX1gqx0Um5Ru7zn@U2&#rb#+=7yO$cywr|EEk#nyp2N){AMD?0i zj3{d~{t(1@UNB-$;91l144=N)B^2Rp^%M7AJ}BZTpHj>hn7iev= z*oUuodYiQ|`3LX%lK45AB9+hoHm-?7l8Suf?ti9D*k?G9XeFj?IHp*l#yDc6(`tKj zXTk2iY9oD#kq3Vg|M31?0$mE@^eF&qn`a|J%}YKg?5}d%FRU%N z-o482lnGD?a0{u@j^6LY6!RkANa%JHs%Y1U9XF zAcdUIt5u@fhU5 z(DJWjR3BF#@dkx6_mifg;FHG&&9Jm{@NvN0zckBH1ho zoCG;L%PdVlCU$g094fBS%E(Gi7~-kzs_ZO`Amy~K9Vq_l7blQ!b@3?b)A2ut(C`dg<-0O!zd_)&J<;whsd8xu2099?2EmdCV zE>Wa_B&x0Q)FfLB%j2Nt96q?}*9|vd#>RD7t`UlgqYZ&H*1p4X$#6tw?c9v^;bdVT zNeQTFxmsVutXbE6q+9S6O~RARen0zpp-O8(*zLl5Annd-;mP){EJ4L=s!m)A{UIwY zit5lJp&0FSq)v~ZJkM3+Ws&T;=VHyxadA-mY=}0e-cZ|`5s1QmcUKDzw0;sq(#Tf< z^)7OoD@>?y93XG3zr1pQK6o%%Mb}HDTs`lC&2+GY_h(q=@KtR3Z(EYpsCC7j9L~|5 z)3cItydIMkh>R8`^_HUZ3GjCjF+8noN2;_7sN*UG|w#uM$e+uxwT?7Np4C z7Y{0qxh$9d^Nksx#z2qAL}M&ZfhImZAp48*ns2gYbm)h(Vv4aDx$yJGG_T5Od)W;?)Zu*BhEtb*5fM1a>joy91O-grG^Mx(UTHs|zM;KD``P{g%Ou?mt z?`_+oOAU`Eg{dpv7KhO+bdns_Hx-{i-fMlt})z$MM zYf5$Kg1% zt(aW;q9OwOsRbnSdeIq&JDE;Vl!_Y#oHX0`9?oa_Z!gZS+Qw2!Go}!y`a}b189lex zqkRUC8F(1GU88=O%y--3fMyWKqyM)zE-A_9PL0Q2e})tZ)X|rVwufrSTE|RBBc?06 z4nYpe=vXu@lS0IO8dh3f+Cj6MGTlO{*n>RF@z1So-9&Z!J_Dqf#5HRkmGs--0JGD} zbkWFJHR#*{=u+o zapY?ee4J|b<8$3Mnv6glR%@+|-p@l)!jj2WsN0P}!nws&nvJy_6M}0NZ{=JSI{xi| zH~wFS%p6W`o(N=5aNVFFi7`9v{&;T zci|Xs27I{te_uzQmMVs>)LeiEZVF-4CpkRNNnB%j42F$g_U?Fq@y)Ia)%RPV$%ME2 zUL1KKLUPT3yz>OYCGEcnciDZIRR15F?m-_AvU!ab?VscsOJgIvi=r?<84?Jppl61;bvkz(r^plwQ)-QYJ z7A3DJPkLGT_e~Dx$F`dI64^EIrTt zCEBwYc5*FMpW;Fg%5pG=9ltsQ^=`Vs1H zwLN=_dm(ikY+&#~h8G5(0!*ibMN!fS7XDx}^Bb|gUTi24eI1{#%}_DfGiHeH7f$2g zX>rg#%k?3s^)3kWNl7$xW33kve9iT~uCsS>P4f)u3?oH5TmwBc-=3vGN4!^btl87? z?icMY#|2{G>k*8%|L~0iCCJjptS2*r!>!oQrS4)pOXoA;P|orreNS5lHr;DGtKa+f zxb4nmFjr2zt}s~ZSO>iNs&rh=CeG?dd`%~W9s*eHk?rZRFK}3mfDctcSFI zYWGBV!z|Q6^tK|(>n4r zRGMkl78rWDEg0FaeZ3_lNV?$!u}`{HtN)B)V$o%%nR7k6Kb@Y!V@)q1GAL#J98(y+ zAuGdR#<$5Ta|NrRSdsK`_0pV>ywu zf0eD~TH9~#n1W&sc5K&Lm-eJl3H}ih{Nd?W{j0J03txcT<%XGuTATHvi8*5dG-6`h zKrkV=gWJBcBS5>Qq#=W>$EE#>J@A{ap5Aa2lK&qnEBAb;ZnxfgrLpWG%i%!4ATieS zLq;nUuB=t3O-IGS2sMPg~aHM4oUDKFA)=>`spkvg;_Q zLiyKt_fw5l4|`twySKG$TO@)DR*)p!FX1y`0R@uL*m^|c4W|B-kyC2Fz8W5w3W}$A zd~BCnt^EvDtg*?6X|g^0s;4bxta$bx;pp9$3VZRJ^FD*i@-XrxudKmrtd>lu_2~*$ zSdVUovF1Iv{jSS1IXPi(2RDn=iBsS=X$&Tx(8!!8UX3djS=Y%V%QLagR}i4tX34hQ z<2HHq+rq)8ww-7qpH$gb%K#e)`#sKkgsUaU!(_YbrH$7+p2H)(V;PA?$gRMI6%%et zY4&i+E_x9#8g1QSNVraV4}akpKeSkfLOxgR?wRq;wET=U{#94uw4N1(oSkl=OhxZ{ z<|x3a`#g`oN~3WeUBo)k)3NPi;bFNje22Q`E^iL7jxp}o4t@PO;~esLIQ7_!nkBJX z6LV1quX95r1#@+H=rRLc)pr?^%rC%kZQVL|7oD+BP%o}waih|!y#ZJs|*HeUT#nUGkvBVxb5ya z53C?#Iim(Ri~OKYPe&+M$v1-!ko?!O1MR4&H8yM4@G8b8{xbrqQd)&JHzl^Y@5_AE z@LGO@;(kO0OM~k==@~z{;F!HJsdtzfp?;`AyYEEye3dxD%UzAnXF7ZQbKQON45qA67!TK2|QkaTMBC2Y7t0o7Q z?b8>S-haSr$%%ofK@7x0ILRzvfkTVhyH=)CCd`%NT`ee56|G=CE>A& zO^ChO>jz7QDhmJg_m^oXd1x3;zDt(=50{_SFb|zy{{O~_ciSt9xV?WHYR>!GUbh%_bc@dVfQdixv99z@bVD?@v7&`uhHrdKrmi#6s3fQUnD-&_m!(on}&GGx4B8o_{tIbYQ$MIh^Td*hq9|jrlPWb6GNKhbijP6vxvfe z{1p|1(9b&`2FXh@9@gqSO4K>7piSa^)n}HR zo^5(Z%uS~U6n*XEg0xWxp)MlAKm2y>T3OyWlp4g0_vW|MN|- z$%-C|mL{{KOFQ;ERzG@PHoJU39hB$Yp~b23kM9$NU+GZU(7UzgOBH)&W(E)e|5E%I zO#w&S*dd}mY$10i3$8p;r|1%?1Djo!#~k*hvN=K%NnD*9t{%tURhCIy@GAIMXuwuY zpgp*U%hL?J=DbjI+OnY6z;x%-Ot#i;XO3d)!0&vxYj*O&j@6wu;^R>!o5nV!mS$9% zEnt@XSW3B4>(kh1wK5I4a#|%>DmS){5v|adWSw?9H`@wnBh@xgGX-5b6oHS|>nfPj z8#;BY?J!|bg=f{)(93j2h?*=ddO~9Vp`FaHu;-(>q5C!a9oAc!ZUvag{T~2oL6yFt z3k9pptW;aPXs!(&(9_ngS}b@6WhwAwRWyNiOqmqi#KSAydB<(`m%seQd8>vJ#Bei* z+jfjJxch=O4j4GtzW8dK^9lU^^2^VyMy;CeKAt#r>Qom98aHlg)27dM7n$^5vt~_f z`t+&3di({Y|A9={<%xyciIt-6H;dnpCnH^i_U2wjSF&2y9j_;c5uJ(CO1Wscn$NKc@ z>+hhqOBXM*o}If|jYANyDp^~N>yu7A&2q8}{LCm86S5K*;d4O0f%fI+V+2bTs6ttJ z?MEbNT!p!FpDkau$c7B=@9-|jXYt8C8##Q0pS_Hdm0h^F%Y}>+*%eG4(0vvspd4dY z#HE*B>Ukni)vQ_5ahk}&f)h_X*$t`)zW3exfX`{nk<5oIaAa2lXJ&Qm&{{NVmFlX3 zge&aqpt4-4?g-&>RjX64t_>M6($Yj9nlx+bd;tBTT%20k&hyX63init_X9+MoZzKKVd& zUVSpK{{Y8fjIqZYeYog$v3nY+Q=8)@s`$!s4Aw^-b&T@_1BKJ9Zin~Suzsx@jfw0^ ztzDA zH5+}t$jXxpCpbc17pSjUump1g4S~nvdlU;SNMNUQG&EnVG4|1W@4CXhPoG{kd-hDv zhaGT7AAg)pnWphBnmM3ff1fL&*9R6#%$qga=FgsEC!KJj;{y?%uuG@T-WSjp(xKpD z!3PFxaFMwcB3HLY9h*OEp7Yl1vc@0`ovJHdq)vl|cF~0wyK?B1spysM#e_=qDceS3y0#J6a!tS?@rO^c>ZKj+Vz zv>Rau~_3Yz!KJhaFDSYkfHP&1_7G5lX zI}7I6;YFQJKkaPieK4Hjb>gCn&zB5VY~TZzZBcK z=bkMdv4hXcoUg~+2agg1JEG&!Y0zH0ZDfik#rqyQ5WK0>t5w_T)~sP;K7UVmA9jAW zZ`Z}fPnc@;>NnQ>TF;iRTwzyTb(PhrTU~Q(e+}qDMYC=ldbx|&M)g~$-#9Ml2W}w8 z?e@v19Pec^KVN#;k0oPe*!9<6DHt^LJ{~q`pwCOgh7Ypr+#JiyDYB6xkGF|qr&*sW zV;AK-0XjsR@U8@}N?Q0Y=n{M^hF@qKG>){9&XE?{hrDpb6<2s$80)|ee!z|Uy5hq0 zh(m|l_^-z}4x@(x&)7w|YQ<`InNHI?x9wm>ULPrFE_{qmDB#!nMDyy5C!+8eLD>au;8cI_-}t7JWufvj-Z<(Jy)qhIrO_v$Ly z_sdCEmbKHpOt82YUa)cVR=(&m>h911P{F63deUyY?KYRcxJJ4i^`k6+VG+o)&pquf zm){)ys>_ndfPN0J@?gOSM+@R*4-Z6(7cFpp3|a`kgj~hA->`18%Y=&;E-^MVxQCY+ zqDOo7`+UhlQ{+fw(bG>m$+n0tP*;w6V%O!it>JhKexn;;}gD z@}a|z@o~z|`tDtOxPg1=;uXGtcip-TK5iHu{k>mQ&s$TAN<{IJVAZ@&4a;|KT{b<`~Q#PG{v?(1&29x~|q z$U#E}+lEaWgBKdL^}1`Ww>RH-OE@K(BDovA9d-v686m%Y4bCW#H?SnOXwul$iY`Gz z)@x4b-o2~qN7=Z;!tV!u|2up0-FKWW;JO_-lm-0k*hQ~`j*v*9z_w$Dc0L!zKEL$R zpEg)8_@e)VskwyW1QVi>h3n4Ig%x zjehfO*If-9*gxpSc41ct8_V$eFm%|V_T`wbouB7BbQu~bevC)MIyIb!biPJB0B*|1 zjhSfcS8TB1y@%SeS<5VQQ@Zu&*wfaoSm$jg*00sT4ZG~vP0tQzfn(SOFXDJ+A;L|! z+$g^0EnlpFt7&)!z4CtatLnq<@1sT?X6Kx7x^D*t_SzjG1-80FvIS` z`3w9vasI*u{(j!K7ou7qFSbfZSxUh$5?uTqq+;C68BD(E=wm+TJiKOJYp z7{X-0aDlHF;V>E|8+PMJrtaRB1m1aieG3D~q!w{L_8+^i{JkQpS{Wyd4_4$jEa*;U zg<%z(MFGZ+U0lHA=CF$&qiUcZ81#w@%UtM2nZig3@2DBgpgzK(5+>Y`FTn}F+KzGq zCfJ{Q-Nn?a0@?WpaRGPSD601)@$=#m3Px#NRw4m9j8SXi+$H#suy7Ay#3?qEB1BV1TO zfN^8Yn6J#eJSe~@VE~EvgJOdI$EeG1j1_NJG^jR>WpFnpExVU z0VSN{9G{Qhe@_inzon)7IVG!?t+GvPH(JXkt!&5U?Ex3n(RbW&n}o_g*lG!j-Fx=% z-EH74Lg%fw-{!8`nNx}+bW$c~BR~6>zl!lm5yL**cPh|66qlUs;^SYq29V40cDg}q z?aEc|s+YwToxAj~FTNaStJiO`R_!`^oB5t^?)~+B_St8+*DSMBPC3b@&6w)vKW$In z;R=>Dt5*A&&df*5#g1>v6XR>w?%kArdSJE$v!jkUT7uOF4$F4!I@q|+$2wj&uGh%M zjs3bDS8<;_efsqB-w2E_!?@A}hoXY<_SGt z8(BTrv}sdk5c$UEXFbOab&tLSZLS1dN(S%TQ-b;s7tC3y+eLr#tZT=1?otQ%&|@c` zbGE(z#pjlhlWhYA4fGwM1a_EneiAz~;+b=|-+G%p^~9gtu-m;`7n?q9igCs_hTRVB zTU&Z&n(x@n7rkf9;c}~ck6vzc-Y&-8&jM6G?h{>O*Y%9a(|sp4ZbT94Fep#%GiS`xm<;rjfMNzXKJnz^RtF1)J8rj+KmEjh_t5X1 zei9HOI7hu!ts3_B8>9W)8(hRLU%t}w%uLU+j;-4Zo;w^aS=qT^PE+jDtG6pj8U6@g zhm9QNcnx2go3qo6<5Q#j6oEBkCM_k^jyQCr z&6+mV4ZG`BEjP|NqhDz+3mzF0+lA*W8h}Tj-QH$p#(C&Hx^#9$0p~{{#Q)~r`|O?3 zZ+hNOYAinT$RqZK=;))5{9ZIQ*Oo0^Xf2vIcGr0B9!~+Do_PZJ&z(KT=^H|Ov!;Ss z1|EL|Gx0gh`^%RvwWE(d(iIGNg2>3s6>LV>_z6?Qk3ca3e-T5R_x_bYa^}n!l|#q} zUIczeyfh1W@+JRp#x9;N@Tda$IQz_V{Cq2RR7{#Q#qvbAo3(1`Mik~*=Gx(`HyLIetE0?eF^T<$MP!@sn<=eDqZacPY^mg-p=_M301LHnI=V37kJF7m`fU2xv{3R`dx9td23 zF2i$ppDHGYI6fn9`dx=u2kJw;plSbU!|uP_4w5Uv8oW{6`ELWd&Kqwlk;5MhrgG4ZdmHQms#qp0<4P0^3!*(|03AqXfqa zpd>`@V#j>nfkSNK)ERErz4?~gTn2y_E?-Ewf494X_oET2R&&>(evYqR;fk3BEYN!9 zGh8vh`pWZ~lSKj-UwV2p2b$ z3MJXu#4f;I9lMAZN%zHjpMUv<%NNWWCmw%_rR>PCl#Fak%g(cN&i|nsLk9F7Xiq)< zw8J#?aj9+Eyw1jc^|?Lz*hAhfTxoJl#3apsCBg-c{a84Ek>mUchaG7pst-O+Z@uG2 zd+USOEw3oY4ZAEry5`Dj-2k;{)>1oS_>t~Pc=@7bhF1iR%V2H;hAf!Gg(h`8?bNeW z7s>1TFfA>`jy>*3H;(SNQoH{*ciY?VydikN=W8BdLq|f^MQ(&YU`|FcJ9FktJ*$}K zwr<_-$EGb_vW(`2d3#TpWn`sWtvWT`n4B$I%|g1qy*i5jALnrC+^L71dDeNNz5DI+ zFTS$sHEW0;nj$$m!+v_nIW~RDSlh5_oedi>%8ozsblaJyx~RyLPddS#din{q107#5 zm}lpt+cno-srg+vx2wQzyY-j$%FE9SPxiVIpm(3{;)yo05!#wI>13Dw@JicLu-kSC zmvEo^>6;(h{+;{nxZy`z?v8BVS$WEtrAZ_OcG*ph zu2Zv#U3lJEwtn>rmj~CaTx-LJ9_n)}czD{`r@O(4vkKuu)hRY(>eqJ9J-6E0O{;Ch z(W5L|vUQGl?jqo<90L!4E+Qd6>v=_t&%QguF8N2g#GDN8$xb;p`Y5pA0a=abci(-t zWUDeyi^873Jqr}MLgS!W(RctIBX53l#v^o$#mwLcSHIUY467X3v2oK{D=yt>g`!dL zxGh>WcS90-id}`JHcE2D()kN5NBm*$UOoJrZl||`J$&{XZ@lU94S0?oYyG;FPTzWU z>uSHd|Mw2Q1+y1ft*W(MZwFt=4n17q!n;62@K}Y82R%gB4qa@`Ldg($B{rnrAa`+G zAX%29YVNx0o*>`QgX%wIPR=YxW@Q)Lq)C$;R#6^~^8$ulzIo>9Kie;UE|{pU{rdKH zuL;}-PkZ8Tb`{%EM;_*~CNc)P3;3#;(`Q9hg>@F~S}<>+rKe_yKEPMaaHB8u4}usf!HlRW7bU9p>u=~$6LMs;RimSaMt?J!NVK| z$Q~!1bc*XM;D^yYaoh|W0Kmf_W9$=5ifq(~;l3Lhn6t>AMFelXHJaYE^^!Y~OLnBE zc^T9bI?p&g`luuPjNRQOg|??u{jZKdra&(+?yE6ge+*+?yLQ*ONfRtgebL^%=djZi zT<+ULeKl#CWee7W`t-3S^CU;BZ(xEuw{Ii*INo&^ojbL)4?ld^eC%Pn<>njgw-5f>f5U@!?%2s)fuqNyEp2h5yfw`-(z1P_ z#Y4aUt?P3OOVPEJ`hv|7gGbs_$xxJw?yFU!`nG)j9M`3=8DZq1N4N)9_#`|g-EsS^ z>J!Pa8c*~Wuy5L|m8}r1MMhxpwaa%JyTE9~V9C}qr-)A|be$pny?mKuQ;m;a9eUWp z>GK^9J-hVs@rxHR#t8E`V~5dMiXL9$6Z=i=>eX!g*I)TOx_a#@>(!^Hd#50rdHNZ4 z-OmLdO%5#jXZ*7$te$X%#ie)Mew#h^uy_E$D=x&i|GwXNS{lNbWp2gu-MFtN`uO8F zp126fd>(u5PAo6Cp?G7L$e9IV|>D!#@`ronFDyv zeWdZw{qGIC-$^)Fr$=OnLXUn4sfZ}_nKa7Ea>azBK*H#RYeH z@EZKM!;358z55iI#Hc^6Vs;h$P$fts#ijjKiJ=&I}2wdHGl?X5!7;oalfH2CHKpFq7 zKwZHBLL?k8Yuv-ob5DqA7%cwrOEw@a zS+>{~ESg_#VER_W?&A3#%MH5^KPbYMW4W1GJ}E!<*Js^*0cSE~f}a`>7}c2c!BvPU zI02L$(yA5{EsO<>A^3QpVV4M25~;hlC4q0W1N_FYi!iB&x(0)KV2&V`yENVq;zC-+ z4S~sI)yj3MmujNy=wqPdXJ)eiLjpVQTQLU1NTINWK|w!8-7!4T67r>vOy(FmnKWTs z+#sTWLXCXEEtm&>KpR{L)wc*yyl16kG}N&O0{5`~Tw^C1c4?oFN5P5cvt**ZF@mQ| z{;v2_ePHf*Mu>O`yge`S(f8Eb6-5%<_UtdU(jpjsF%}r9Rf&Agds0yt2!R{zCn_ti z0{Mo%2!;usDSMB}_vD3fIEKJvR$QqYA=a1h4LXrTXAWlARf|2AKhr0nm%ttc{^&Ds zjFdhvs6H5T{e|)%A12u-ki@Y~)!f||_lgt`EY$3BxRyt~2kunkKV{erc|&W$Jn{PL zqeZteRL|WuYSaq7d0bbMAVhK#F>}R(gC40lRRn>O~mX+LMUa^5V8=p{>+yNgMf8(>R0 zFu3o&^On1lWDK@x-BAqm!;Z7K7c5pE6=}ZYtZsI#;U2YZ^XB&Dr=K{y86&LjN1?E6 z)oS1AgiBXov{~b*dCL}V2nClAbO#I>Y`5NZr_&~O4xe!v?pN+``jx;AH@>oB@vy^3 z+1PPkdH*vHcWB31F%z6AV;AkLDbuV({d$;$OlT#{AGE)J|NgERB0ClaFc-ooAAjs| z?t&9xj}^qYspcEnfh%TqdVuHAm_@m*TD5XRLtL@zbrFqf*RGwf>?OcdVwB7)DznP9 z>)9L$ri>OJ`|P|{pY6;QZ7wU4a9V6Vx^(ni6|BIWG<$|Ml^`^KrG!v@!@0r;j?gQZ zY+UEE%bPL3W&LLFcLb3F2{$8$4zUGuX8Pg}R#xLi>#lo#W%;7-g`!pDLBF4O{)KkU z4L5oI^eMQE!FEXh!NKje8$I_}2bIlPG6=`)93X7nyv0`lPnkU4;fOF^wQ>zNfM(^3 zMtiC~612Bi_fBo>jaQ%Z-!o@S@jk-vLa(;((8;d2>Pk-yKCm(xID?De&&@aA>Z_We zuL!%~Cg<6FHDRLT>XIdkd?hpQ5x&^D!H${j+qYWt<}Gc};-${yGj}y_f!o^YPE*>q z?c^)JAp*FY0)C6maRmksJaE8J8$TXb$ffRTopVNUGah*= z1R#uRxVoc%0!LYoImh+c(?DAp`7>kNnP+Z!C5Impq-y zMydPgA081M!?o{z%g)&u+6sMEKJY~Bgjh6pmVPrQ?Y7RHIyj!wS15>ae~3W+(@TG5 zciefG&x7Ox4-Xj^I>ta70$=%k`1b-Z z{98BzUt)ZZT;azj3D%ielTyp;x6QC^AYZy&$UP2XvQ`VR54U)e!_^6@9=xoDJP zUUr%*$2oHl{+%-s;rTE7*%dZ+{3Lti@h2^>u*8l!?s%66s5wSSH-r=w*kzYo?1l?o zVEE*`((z-&Qy1?E3p>O+Kzsi1y9dHtyMLD(=1xBOME4*ASfFe04D;sAv&$~KtX!TV zu(oQj%f8*hb^Z3sF!5NO@S6+3QANTO^V~<*{_|~IN5X@-2 zz8}=Rw-se(h&FC@gXPBUYc+c*AI;|+$+HQUv8rEwdZ8UV>Ns~}i5CM5&r$A0=9n~b zyxn{EJ?_%+2j^bsGR@AyT;bC;!T%ERQrY5<^6aLYud%UTeddL`ad%&-`Y6-Wu8?el zCj?|5&bMd57lEC+Y`j>saG72B!;4*>1I{!7gWKYzi|nj(&J>Od)@su}@ro0^{>Ywv z_Hpq*DK>2A;gSh<2_|{&@#3s=&UV^cRGcHe;U0VKP-)vs00cj5sT;PcB{Z}ejd7}GaN zwiAHthHI~|wQHBU%k7cJ9B#RyX9a>MoPJma3hhGw1J4)a+!zVrS&+>gX#e2=t%5#5 zYvK-F9 zj~Jv*Ir(^-Gk1n%<)mAFah~A6&yGI!DEs_Vc1H`8#k;I!i*2|5bEGEL!3=3QNrfQW#?B$o9^FGYV%J9XSxEm%wpI8)$ ztO0z!_~HwzQ>TvakY`~xM~r|x94}I>N>%qFLw-NI?5FMt=$AKK=Zg@}I`ec-cf)np z`%c``PC3=KZ{6X$XF0Q#cbz1sFP%p14qYfMCi)1j+_3nZ3Y=P3^F{ZO0SBJc`X7vX5j8nUQ z1FKxUhE1OxcC5095B_iH;2}1C;@9rQaO1X3)~!cZ*FO;6dh0D~(W<3;;KHjAI2Cos z1l+%ZgY4)%?X=UvI8lUGUAJMqyKzR(!S4MpKLqTi^0 zPZ!LgTi0KAjWujg&#t}Z7fzedH#F3krf=YbnU5LM;4F0kVXz%wbnMc(y)~#`+Zs2j z=Vuo44o^VzY4z&Wy^q5g#=`S5$<)32yQ^VfjbRek%p6t1+{}?n3+K)eGVb+-kc0a6 zwB?KD*k1M9=byZ9_3Ko%nl&oh)xWr2eR8Z#o-)(h!4B3+hg7jDRjSwze|UlFQ&;^w z*-|Bga!l6p1uJ|WL8e%_WTACz+s3M@|B)fC{`oboPjUS)dI)8R#~sEAJH%-Z8yvtr z&UlV^+Fj#e(ge*Bx@WO8crfXub&zbIYg?4aW@=WA!(E$vp=+W>nQLS1PcLmQzhj#5dd%NKw+^ZBBYck%jW~H@l z(Zm`medQ{ZT#tjk4f!B9BgY2z?r*cE%$?cD1|rOH*TQq?N1 zYl7Fr*v_JG@SsDdjy7e+bjuJuaJr@P8`P=m@(mjn!XgEBQV+0?K78Nr88;(_5A}1X zk@Y)v?CfKtN|kEv4FtKAg~m%3tACUqdQ0d7_@Au%t>E*Z`Trc<4|B!eMgqJM_lzlM zIc33>s*iZ+RmtW#XAXShFFXWKSUvYFFfvx#3lZ=Ljz=8GrMxlZ{;exfw#tk#(2lo51GZ10J-M;7@2hyXAhoPi?L@aPt5>&VQWFMF;Jrz+xNkclA+Gxmfqfx?mLu8U?(&Zk;mh|zREBJMXao3Gg7$lgD zJ%n$+$yCL63Q!p$4b+A9u(~`D%so!1P$&>l^u~!P8Ap=^w*N+m1NgwP!a!qC^DYJk ze@qh$62Sn-U}o^a{6QRiBG+Jz3|n%by#IAbZYTHDH`#!6FvG4#-Se#674yLiyZKo@ z8Kd-n?Uh&UrkieZqb`sTCW@JeEAWD_pDP9zw;m{=_h3*1*M+OmsQdQ}yVRQ)4SU>! z=jDc7pX|WZpe$rOVBjFn&09A)-iL9K2;i*HkJU@0$6Y$^9mxwp6~-96$4w$3H@iT; zg%`qWv4i@D(U#Gf7y^37q>D=tCVj7;3Sb9goD^v<@Sq+T7dbl{Lkxk*jXY4+!%)Ss z6Wbrg9tEk5f>(LeM=^qr)WvscB*t@`EFE@AbD&|D0Ml2-B9-D?Uxi*;7|u{axnEoY z&7y7m4ZIR7dwGZ=T-hf2;^2l|-vy<#+yfuR7vOZUQikSC6`P zI;xuk4ZHsdSIn%YfByNf>JtTb%a*OJRjW3RKd-&^hW+`^Py3m>D0$;bINUNv8s_d= z)lOiBVgovdU{SkvU?w@&2LlefmM})Z=&~{#H#VKxb`;aS!q34<+m>O~Dpj`{)vH=d zF_-LSV!UPLWZRZ)Tdi@^CRVd{Ef+XH`Sf##C$8II{t-rSP0H>j4GG)0X}g%{R$@-8 zS(RF~?3hzevSJCPoYhTTQJl1D(!`c5nD6+5@er3o?(S7^0mht(;|yfg>NaueH17wL z@VL#aR;#A1*tpKmCuCPG=c%CJ00!VbFo+C3j5$IRu3@R?7oU9&*c^ViNS-@=rj?4> zzUTHkU9de7MV|t0l@Zclo*PQgV^80kO$@sB<( zFhIf_GA_-pgjpUFhx^QT+NGFB;9NS_C8(YxM5k z#m+nbYzd&%tZKd5_Qj-$RwVkgYTa7vKX8C8Ub@6-9efD9OPf}0o$;?(rG^_~q1QPX z>2}YZclcS$KRoXo@gGHk{Y>ksyeml{=Gxz>TT%X3ca#`jE<1)lU-IPdmf;A6Ea?tPxxXKXCtp*0OmUUmc5Km)!=? z>HM5@OWnHO+B9!yH6+-yXxYTi%Prnj=DTkD4jg1x{o?2DLJybkxF%#g0n0UOI2XE0 zxhv+2Bpk9x55w-{=`%bX_q%%gGJ{IO_ z?$~8hr;NAi)hb!Fs+H{Kn||r%wsOuWbP=QD>{;{O*hw7Fe~9ncjf+n%xZncc6#=b{ zbcvnN>^NfFf!k-EdA7UUtyUF!QO(+j_H5d`)!_tUm!Da2L9XwZ$9)+t z(%ZLhuYRp;=l$>^AG@3l+f}qIx}s)RF7?>Bdaa+^)JkRJuI%eE;cPLKH@>6&taI%0 z%P)5$JF}W*9h)_Cs?|~%xT>sPy{4UU##vsco;`cp?3uG1A8}R9xxKjIN0D|&8&6+*mckKFOUch&7I{L6P&){Pq0cU+o2d6K{?ez0(-&vO$ej`z8TvDc$t zADcCAt_$tmx^#8JIc~dyJGs7oYygGg!oIQQ1M<85=3A^?o3_qhgM1ixo78QhcUA48 zi+>^-(#@7GSmKHp47=>urN7x#z(THO&07XVjQZ!M>u$6?J4Bp(8vE62YfS&# z&;B0!)dcsl5_v%Q&;$8j;1QtmefakRgM#?Y0AvGn1!eHtN4sQ^_3L~$zMm_ne%ZIT z)E8yE`1~tYr)C5D?87h6$NSFSLH+s)->X=iT6JyZinX4b^Yr=-!!8TP=|ko-#u1VG z1B3IW2YLRV4zUi<2Kah-8Tg$4q+$184&LlQV=%6xqe1`Ere!1R+lzTaJdXGS&fh!z zq|^(T!og` zvESRO)r)Q5pgx-W@-zWNmtXjc{rT}nRc<&2qhJ4?&W}hWvB86m zv4V^;D@bFW(|q~ozu0q+{l#`=mANbCtgRU?_ndL=nT`V41;yf(1$|W%m)VXM8YiWU zVclb>y7)(zc$?!HySLnUwauM1Rb!*j7Z-_b(DQw6z$9OcNCbAs{rR!S?D}gi*RNum zK4+@+8!^DLic73ed?b%{J2SemUD^d8@e3EBZgff-;fu2X66+r z8~x%tij{VMp{^>9sxtS`6Y+f7u!#v;&%(dGcK!9&+pDj>s%Nwh{S&E`pW03&&~9Wu zzGuN6Iymlq^MlII(^#f3*A2q6=$=K=7^HX~4Y96U5-f1D%Q!3)pTs-YIVu4=8!<#u zKklJdEV%95v72~c7zlSbHoZT{5QTQX&8Z z7xCl->=-jazsF)i`cAZ*MX!a_5u6fUs-Kzjd~=%S0c0flPZ?OL@ZR?5x%zEyX@Pj} zOxsn$d|}qAWk=s=l9tKB2T>K}L;HeFgFa(1I~!BNPxp$Yy6@E7LTBy8P_6!CQ2>E< zqxUJ-8489hyaK1$#SDzN_jxDLr(EI3BMvZ@+|z~%Gd-+uV)qg5PIv7sR;?uPXfTjQW6B3kIr1kI z%+wvi!!*hcUtBrk-WJ6YMApwF5D|c(jf6THaETCy`1`;sgwTz;`W|Bg41w1{S0;3y z2p}GMA7jk7JkmI#(n4gy1RwB_usvl5zdYX+t5*7zNhyZ^7Op0bi%8fQ#0*HrO`Oo8 zf{}q1pP_^&4U-)Mk9_#efK4Wn5DVVLN%jAwkPPQo|6~JFvSF8V7FmrJ4ZCh|TCD4m z#WsJ*0+0DSaa&ya4Z|*s73WDH*wVx7xZ9kv-4*Oi7N30du^TT^Gc(+Uo|7U?6!z?ZG4J{kIW?qxx;HCQ02hsqmaWLEt6gM&gXKPPYk@#@pQabKJEg zE*&+W`L11P0{uo=oHLuAhI?5t70TCLO^c9s>C(kro+xW?A7==|gtJJ4db0Bdp&9q3 zFyIUqaDC&}Eq46LxPqPT%$GL?W=>2kt)-m;gEK&Zxenhk{$jfsk-#N+492!nkoT#l z5)>2P(r%P`E|4bhlysgpK`WyBYGB28C1R%N2NVuD8L2+;vuYV$J2Oj6u!;wjU;?NK zEAjM!!vvT!K@*dz8NN}3p^FCI*gpiun!`RZwqiW!I7-l)$b=v zR}enwf94fjZWUnESDKBQUzj7*N}sD@KNjWbnQ($#4SMCfZ!z}x55=&fPWU1G!{sYi zen%#V^aujX!@R&-1+Bw)5NL<$r}?vRf0>mEM^S?1Wu-e)PW~`ql;OMiR3vpLf9l3f zp5{*kE#QwqfV@#uWUIVf&8NTsH>7d?!$<^9@-0eq@?s2uo4CS*iG>D40ZhQP0x@VP zHhj+0BN#c-;lc^#HyU4f7q3)^G+VcB^?XnW#CZnAK@4$BFy|1WM~S$Qh-(}#v~fp9 zjw?t|zG1+?FbJGDpO&4vF#ZTeo!Ygwl+>-3!vYq)U%7dcZByUF*i*ffRNT)~QaJ0C z9sADw>pw0EN#w3>i%?4Lw%jbiM)Lq?mHDC^fe?3Y^dX`E1{t358~Eo5hny}Il{t+> zU_=?a{bX9QS z7!9Q(Qx|y1TtL`gy59;iH9u(l?qO%AD!6gYWFI+eh%OQ27{IbgwfblC6TrS}NTlpI_y(N_#5Xpn!a@6;78*rVWqK7qHu z79K3#`?w+(eM~t#^F@vcI1-@~+;Zj+{lVfg_z&t)n49H0ZS|q!D9VBi3E9-m>4oSJ zfxH<*2wKelD6S*kF`t1GYNVAE?r7GW#;?hC)x>3O5d*W zsvppYe9zD&SdHVO)A(~6!;O8Z~Dy~h;fy1O%BjJu0(Jx zJ5&4$L@^|{j2w+G8&?Ojh^^64+xD#|Y-f9@%Wv2v}>?k>ut#Da#p{RTQksi-lL--?^HX0Hd18SYgqw9{bp({yuN0&Onam--mxQ z0K_Cf#-A}d@2R_SvnCdnG9Fl5 z3LX&QRlGkFk^YVJG=_sc`z}JP19U0Uad;ef8kAV@QBfiG-!kkn=9%Y!JAF_n`IX(T zH~;b%&cm?ihNFVuNsc|@7@I$9p_T63WdnK*v5f8FYc*{8^&DVXsX6X;w`J32wshe< zE6ByTS?Whou)Bx)auyM_;YA7b z_lOZAY~0rqyzB-I8u`%-PB(;4xa-|lxW~G-YG->jcmMW*2Yq)Kf%%g2BUi1K44||H zqAj|Jw(hl~4m;Y7ukq~L;HggYhj_3zM!#&o`1$2FX6$F`yBxLuk9NXor`deTGSKc6 z@lZz$9&Rb?#qaJZvxooipnWpt1NDmLQ_ZQkIo(|>J^{m|x~x}+p0=k*{I__t_O094 z{MoZyk-W1Y&ySHwPfhd1$1R$-@kOfeqN7K@?h6=Ku3DsemDp2HKW4AI`n=C?L=3xo zHRfJ;@vnB&(W9K^11lD{az-+!<}#G7c&cC#4ZI)p67OA%Wn3RuuUW;`tXbtAHQ+mr zJ$k6kojcK${fCY`TDXpj$zt2MX`7vY;RQjLx4*7@4RY1`tf-V*Ie;f!-fxZ!#?`OyYIZkKL42Wxp(?P%fm(qPsL|w zO0cF)y4mwjzV0}ixjDu9bnI#iCeO7!IlJwYLr=8QY!+@7S&OzUZOr&dlKEA2^&z99 zP;Dp{ZnATinSy8R*!}S(KlQ#LQw-BrU-eU)`1O}cu*Y`h6xgN>l4tZ5!|t^=UT2%P zZgKbVqhEc^+B9osFTe1#6%?e|yv1|uh?9@DT=8FMIxy}E)g7+L-W9Y9+zpWso@op_ zQ~H0W1K$>)Q^9xan;qJeBRKj(8VXTaS6%UQ zcOMQL$T2E8S-D;&WF+#UMwP{f8u%f%*O5=2myMSi|m%nsH9!Z|xfE_rA@d!iFdFP#LDJk1MAC9);3SPih;LS7WAcAK^ z;6qyaAHD$NFIN_~^9?#5`YA5%kCE|B9l+~I4{0Mta*TXlQS#Kc%w0j|L*}7>fq8hx zJ$2{%AfN2l{LT*HfXBYk00suQBygBM!d_CWa-82rF3FbcRwg+ZxqiQR2k}jp{^W8S zG5koEwGab}^oLPH)o|m_qMl66=RDw8lHy$9g{rm}9gFIWJ_KGq>LID4+d~p{kH%W? zi$0F`$n)R;&p1lO^B3Rl@-=NycAO&{V1WnF;I^1C4qc(2S@20-ZU`6E!}9@pY3h#d z7|0<@Fq-HK=sE9@6LTaFa9<=`Ltdr+@Q)l1Q!3ttzJQkiAJ8W=K3N1#fUX2%a)MR} zcSz?tVP(n&BzEWXmG`^q2#@2sGzD}K$f&Nz)7WLa0}HQ^0&OI3WQ*0SS2{ddSj97F zC^*GJG3HagC6A>`m;1fvp~yRAR04fMi~-m=fIa@>5Wi23)PcwmZ2V^Y!B;}-qk$K` z6g?XYE=a@gXn-X|SNwbjy^Mxko^k!&u=|~aZ|n35gmADZY77Sj@qUPSt|o`Iwt3BX z+pz2-+mkob_7zOk2%Bo@>qpznuYO}w$K0p;x2#~tC$?(lUv2$@H!N-4SGHi<+xk93 zNB|{4+P)4k6%k-{36t_JTosg-EA;SffBg+N+a*7_)CXNb2}(qi=qL|D2=3eZ5;Vf{I_V<++9vEcu`WLBn=D_gtcNo1iYyD9hLPAc#yeUkM1^k z$~0HN?-B8hOoxASU`*uU0ho%gx$;7lrydX-zQg4$6B4W8D_1?l4jnbpiLZZ>z}5do zI9Ms{4C&ONqZrbS?uMivtLv97cbG%m;z}rXoi%FI$X4kclXRb6y?x+fq{c@x8I zyBD5&-fp|?Ha8qZS3dN4R46i;!0d(#>ol6hD?+F{`<}%(raw)QQOc87MBDibaWLv zZOTl2uabo8?7n9lvznHP)K^?7FDAsOh+{kf1KeZGnKxH2l|Ykt94oXguSl>G&cy(X z7=KDpu8`xNXHhZdPxO6It}|9cdg@Ahx&OO{UFwj?BYZCgOm*6;wv>vQLf~e{F1t{^ z{Bo?rhKfW(2z3I-xuLzWU&5rM_aS?a+!LeG%?&hq&IIR-lgfr+LO9{-fuwrQmB}uK z^7?}ViTl70@6wkYF|gd=gBrBK=ax`B{33A|C;Ud&W2I z<~xcFLQO@8bs{Zvlr#r3>>g;;{bvlj1nN$JIePTbKf17l@PrbEdB%+?7=@G$p^dW= z1u8KVnVudP!$iP1(nbupq0M2pdTcwe3P%M1AB|bja^OjS`NAlT2aH4lqxwwnV|*(u z;|f@Ue~dk@j<>1bF<&jIXE3ZjJak{IJ_q8Q*P4?s7&BM#9rH^RKKPJ2 zfg?m{vG=>aV2q;dCr{{2wuD2BnML}ZIxz>vxstI0W5xHh#aB%#563-jl!>=Xz$6`t zHqL^Ck0@n{9Dyc5-f{-Pg7f*t#$BfjiHgG^6n=s*PPm?A1<2D(}gMq}q;|t*}V}kmG zzGl4Yjdza5tKfxzgdoO9f==#M8NS#|NvKO$@egg({Vw5|#=IL!1$TM}S4=1eFpURbKxl$+DMr& z?H<$((CSzo{Ya$VltEzUIyk~Ogr4#aV{h;V5pbelXO1g1Q`5EzL@cxjD?wf1qWr+C zu-ab#cj}MI#Xwh5P;7VJc8@Co9i8=@GQd9+0njKG+h`Q3_JJm`yZW?q&hq{Pr@il0 zA2;kO16Rt4KE*{u0e;E>9!-I9hSDZS^>dz4-vQK!yR-?q1}$-AMuMIr(0G6GLv>-N zY%wnT)d!S8UxD*PzIDT(=oC@I#bGQ^d0^~Dx*q2~1SJCSjEWxu7ibyvpne#%ND~d} z-e;PNIqL~L!nn&KLl%!vPn4-KFkXT;2FjGcS)jfG=Bgly4}$aF*?X(V_0cbL>5O~gbgI<7W zf$w}g>L>FH*BBDr<9+h41ini&$0P6z{4+l!VCRNK5wtbJo$4@;#=uH=o>6pG zUT!%Kxv^6)@wzGE&J=WwX`Pk|uHXm#LqTE8qaX`q#d!ssroUX_!|rgwEiHA2E5yjl z`GSO;!1obf!GBkTB^sESijhB507LKfS6^d?jXcyB41sIj7pi0G))eIv@W(;HA}5Vi z-lc3$bz1C&DQwxHw25^2nPI1c@8Z#K@R6|xu0nhHB<|b*_dHP|@HUa<_u=0O05J)W z@n?(y&ib36o#hHpjc@2wI8Sr8^Tt9mMe#nl>Q5&uyTdLeWdw@3f>h6$OQE32hTVvR z2Md9AfBXCYRG=P2#)Q)|jk*7|Vb?oB@P-&5BQjq+@`vBr=-2Ri!{ns7OY=F3L2kW>cYtrC%M;|x^=1>-b5x&_^N!qL5bI+S5F^v zjL~VcX4}X^M>%bRS0niDDDf5WQ0Jd_uDkvuR<2aV)~?_%*0E}}>e>SjKIC)e$RUT?j?FBZ z5>3^71rHq0Y2UhSqjm4mS#(tNXLqU1m^0gk9;W<+>&)X!l*9V=v;F!8FEZ0-OtPAF zD%;2-hP!@iV1Eqg;srEBvUX(K$U!5WXUf=-?j8_o)~M#56Dn7(WS@Tesn6%|7n~i; zv+8*1FUM*%I+bDBTsN^ z8;^&87tYNqu%*jZSe<%xU6<9gc{58%+u<_Qx(%z{!x7#RYFDdlZ@uxn`k=`1e5hcQ z&QTV^fvMAG*vY4!A{>S%F0=dZztzTn^|9?PDzn3e9&L|5@~qXY)=+&@%XjR8qr1iT z_3YKfDydD4o7A@-{rE!r_@j3P>jGOaf3`JhSl9JY%txaRA8uQ=ZPqw58!_xSd-l(- zTGdL`tX7p8_BC#Ng}-IlB{r~Yf7?^A%W-twhPCcGmVT{XyPn;A`yI}U1iFG|Bk(8l z7ca3NUGih+3j`78Z!f;+JlnoyeOT}Waw%f4fyVvll8gP^SLU|el6ijo!wX#oq21GF zPqE=g9cH;28=S8T)q`J!J_cDV&@jkUjD+xvIX2MG|8yXK=o3nM=o9zw0pJ$22^s`W z@Ekshckrt`<2Q5)8pZeYJqv~5CpZt4$UUx@G3-X&Vvs?D%mZ(M>wobTYlT#v2<&bPwLg9GB>*u5LRW5P`A@YMt6*6b|tv*42&8uap| zcIFwUIIYHmQS+uPY}=L;!9{gZ9`II_A9*Z{Z|Lxu8{n&Um{Lt1d2@}2ip;0nIE?5_-H51yT3IlvZ} zaE)*dJ2WM4CFVie5M)96T#po@_c&yjD1$I}a10FdM=+LyWWu-I!PD4LhYhzz^+l&d z2V1phZ9BGSh&Do}luS9Wz|CR7MjSpF- z%a!2cnIwunF8ns&{XY}pSPJt+ybqC`@6?4c2Yxf&;6Ecz3LOMrX&Z2f##^q8SJHFk zeVi+JPyF7n`yGS?9vl!sgd}9(A%k6yT;Z}0wwkS$+>6WsP{Cnhfa*dzu@WYQzZz&T5E zX3h7sdFdKV{!K!Ws|=ku>Nf))1OXoyj36J+c#og>r3)ANsxMa*=|gsYKxBv@8UqaF zAdCe0;deb4aA~H#P*cg*^A|B7tt$!jV)LdAR;zY3d;f#C^{EK980lrp7m2~0sPrg3 zMHEC38C*{I)dW_#McfU_C=nXvN!~vB>y<09g#4u1z9ZEM9&YTM=~18^o`dSkcih7m z0dEZAb7#*fSDg8ZH&%P)?X*6fyV-(Sb6l{aT-Lu8h$!+c>38Q8SuKVt&-N02Md z14J>4@}+I-b~bPRLKd~@yIoc&2BCnui-=`I43!=M+}+6$R6dnsqV@WI$05R%z&*6$ zn}*$`!QJvdGVJO~1c#Y`9(w2@Cx*V7u(-^3?6N9`9W7vNP=KnJ5>>wx^@|4Go~%{xs-Ml6y><# z7yM>2gOQ5F8F0r53xS^V{ScC=w=)S8ta^lV?ZkLUP>+fWa6EDAWhHf;zjLFszQ>3W zc1r!QwgWC5u5 z{{OM}9&mma#s7bL@4ffl8zhv_JJLm|N);6ODpCXlL_tsy5fJIUR|zd4z4zXG&*gHx zUveq)pXX~od-u6ZK>cdu`};rGWbX4W``$7;J3BkGJL~-}C@WENMWaIKL#!YJpdAcG zkzXi-WH>+p;TIU*BHlwF_TdPzuSMPq-{tHp&fhweF*o`8>kPYbeCL;EzxmB??03KW zorDR_XvK}#z4zX0cieG@&dQ)4{_&50)H{R@&Y6Wz#&lwcEyCxnSReIq=V0OR8cbl_3N5+l&A7^zS)NYS9Q%DxvdSAg&wo*w{%zVdP= z;idAwE~M%&&*<4e;(g-#gP~%*13;4zDt_Y+RbRrP;+F&BR{%|xK!U$7{XPaRfuuA- z9DmGhBI_{OVp7JW1*60sTe)J19WiW(T&=>hNruT0D~+RK7>Ggj(KuD1jE+I@EJdCs zO5F3@$5j8zXwLXayCteoTE2toL&Gz6Gcj?Vs&XgFk*usP{Vu7_J@BK;c;OL3J5+=OE)tWvsNVtx5`6>wfz&|VpiFb+bWBL^X z&%hg{LJ>ni5fGJ=oFjJ44}NGhsssZ-@9sTp?3ge04h2zAWYB+u3>M^D#{p$X;!{Eo z$%jV*6(^}|6(NR-_uqzZE|l*d34j-gA0^r;Ht-=J#0hds>wja|{qc`~th5O6mk{OIsB9!q_o$dAgk2*p`z6LhjH+R5Waln@G%Vf# zr_4DtKO;F%=-`ia4@v_BoP+-$OOlU2Nwj6mgFG3JWdw0t1O<0l+la6FW#m!Ri!w)f zoDky2&L770@LgDZCk3p3&m4$_(pngTJPr7B%87y(SxlY{68t3Atu$1;uMi^nQ7jeB zlL@rwKb}!2S9yr?kHDjc&ywmRxry;Aj9sx0u;Z4P($7%dM44p>Q2wOkt><-$RZ;o; zD&Q+ZS^o-*Gr>GdAwH}4Ji^z7L&YZ@Xd%!;asWp>qbwL7a&pt1#Rpk!@W3HHk1xd8 zjL(6Y5APN|hOwMEi;u_{EF|MPZe6ZN2f*S#7OAqsR(-;8P_oek@+R z25$*G61WNg79*5B4`>EcC2EyjVdEvPL}j==%ZK^K@i{dd4cqw@C27HFruOh!U#$J7*!%4Azc=X=H{bk z2<;l?5d@DzUq)BtWr8>I9UD8)#nGPR4{fqYTvUKg*sm}ih28DwbN2{;@Zh-66550( zQcmi{B7nFUm3!R1axLQ^I&Htkpc)tZ5g1#*J?%m}P#>Pfz?efF!s0!2%`Ce0F~jSD z4vM}(pYbTc+lk+UGj{k&ujZ{Fx!Q4nzFuwRPsxM+$33`}uHIkp8;yX}g|ZVT8uQ_W zQ7@u7c%przr}OvPaqZ8zW?>%kq+IuVeu2-1#iV=(t?9YP2HzO*$eZ+d9`!NuWaA0) zE#DA-S5}%94O4NosgD%7`#}HR z)?OC+Fp>c{2Dr{G!pI(U+tHvN@(g98EYyW`!8gw%p1ep-XD-ut-(swThT=Qvjy(tB zvj_rRx!MID;y^oz4!sW44PL<0QlrP0Vv2he-KSE0%RJ}HalzJ49y+H0@YFS=FPJr*yPZZ_&(52cf>_zaxD%aY|& ze!n&B9)=*|ItXHeCISy>bN?+f>|$)#XbWaM?G!S}ig$is+3Q}g{7uizkJn%bpOt!VN0$nuBz(U`4I!5Wo`CM%4hgpQdbFZakIP-GJ55mWYIBnu|ABg-r z_^Cs&gx>w70}P#5XSR4?wNwnOB!^MeuU*GxO$%;07(f|-=|G@J#$6XK8B7^$DRBCZ zopSeuVHeoCd7BJ0bVddx;?vnsF5;K|^wUnVci(wK3>U#YFF(^eda?Y^!+fIxG7eZ9 zHf{7fX9r14glozQgGEV_vOTyrpku)ZR92WR7asUw6+O&@8_LhK46hqCV-@Y>iIW^T zfpN>oxW{ppl4eKr8DOgyEwz2lJn3Nm*0M{A$Th`k#M;~dA{`n8qwp|OYbp7>%_Y3zvwp+XQU1VI#%u2NpNA$BL3uoCL z?=RV@+18sn^_$pFeteg8>@dh?&s?U76KC__ zQt6L>_?^A*{L`hz)?U4O=?qL(HgV43HCO*gDN|hv_656-xY+M$arTe#FR({ub=vo4)`*r-vT`XH5UJ$rSv>#n;- ztEL&mI&|n{kNx>cYuKQvRjX3d9{$}QeK1Cl^yIzYz;Q_a9;)};Shr1yaBkbSl48zSnsa_k4ql@n@nHvy$1b50r7!|0Men3RNmj0ejfvu z5z3{*z2hq}UUCyw9XqW!-3K>RB~AmWqNljZn9l$L`Oq#QKkASKiT*-h1Rf&3fJE6M?&W2{@1+1q z1Qyq@Tb;lJT$uuia&Qg4%GxcFo(dd7%)7J<3L!4IQ2m9IKyT2P*FZo$6_k(vf$cf0 zU%Sa=82`eP*plLtIa2UHaR+9;PmT-r7FhP4T%UyROf29ju^n4BYBf5zE%N@eGnLiB zq{&$|KC$%njyz9opQsNZlt0upv>%4R0HORYdwF}h^ygnCa01XqfWGxKJT@t+4Z%mm zr9;F~1mYw^d|n#3OuGHbK%AsDQ(5RIfM4qsFJf840|Vuub;6@?#gjyvl`CTcH|3yw zeUxYt@J;xxe7uV3RQ&GX;LnJcsAI+S4hrRx^Ek9wLID->!?0VBpap2upNURmz5Q0; z<>OhReW6*Xmvmxz;6;%ifnowV0J;~HuWuQYFF)6T$0Qzj&@)d2JW?UPlU6#(u&eYH zOQlc5_q$lW3iOsJFL?@b2*#V?jeid@OP-Q^ZGv_&gcD4gYsS8ND7F zBF&f5C(Wnd@Vs1HTKo|04SW-U{vG8zafo)GZ? zEdc}+@p$rM{v8$nah}fnJ>K)XeED+C*ZEz#bgB5-b=O@deua(}-o-QYsu(gb&SBiW z>YA&y0U#P(;9r`Lxg0<{z$@VaIUW~}JnXz9J~-0m1~Cl!20Mono~(TS#6}8w0K8Q^ z&)b$oV@^U!7cXAX(?hvkoZ`{m=bT5t(b#CfW(Cs4FjrhuP`U$@z9?fD^t+!nW}^iL zwn9%g7?+v*v%8P;o_UX624f|pN5F_iTBW=5Jb&fwauFU8(fepIe}ZsX&>xLb9A^~f zww{6~$QS_b)RrEZIz?kqG-4AE{fLa$iJhdBfi&SK+c;;HvQZpQT5~i#0QOozVYd2c z@ZJ{q8to{3lgCi~(7&KdW*&)t*MGTZVM>@=hVo(Djh?_F-R(*o^Mpq{p0gQX|YhEAAw`agkcwbI^_v{By8xDan%Fg(Z7&>B{fyaqA zQFaI99SrCkA5ga7m4y(22gc2V@S&*Ni?mAn()SM}ygE`Ac4U(>_9?l_hW?4~zwvl3 zLZC0o7skn;4@%G@i8*|gVHX~ceir_otcOk3&qnyxu=`&O)c9b4{DDN^BEc=g8C-0q z4~E@&)BftC$Y?7`dDr%AeaQ}Nf6n%A`&%jO+xoQa-uPGBzx8FaT_0NhrVniNJHNJl z`O7_xUEUxtnm|O_7ViXI;)4Mb_H)lV(-zF1D<(Q@*sz4*$ZW{aBkY3@M;S(&hIJa- zAAb8sm5*~2MjmsVz5McvR;@-=xqo@|u|H{Wp~3t0>2LF9&X;?jo*nzx;yFva4xXZS zmhXM{VyjZAvfS{z`|i6Uwi-2RXm`j>H{Gn&4ei^u)5`JM)oa*KesqHb0Cux3Sh83G z$m+FgWPl=_#`PQ6t1rHkz*&hks#o9s_QaE3<|;a`<(6A+^_qCr{*FllOa)gA&6+k8 zF6i7DnfQwLj+}>pu-8_uTI%1{m!YOnqei8N>=ST%{LC}YSOd?eNu$R0SI_IUS6;Pd zO`2N$y7jdCj1DpUs1f$qecL?d+xDy8`cZ2KfdWFa%)thT6LXk0&A&M zwTfKn)T>k1E^!=zuP&WB+qh3YckZ#U>w7K3@r{d0>O6nK zbSvDRVVzpGb75|!Gi*wOEvp#<)W2#>hUMqxY3_kp3@rciOx9l6iZ9r zVXM|GxAt8+*qiUZ=Y#tJJ97B3Hf`E84a9@`_pmQM{lG_yJ=U>RN1HTprsKtI;iBbs z*RSrj9Xq#Lzk$8%&9~ojx-GUhULR$R8g{gq)0b!=1_D7=_D=h9%x8Au3CH@NSmbz| zW9{0t6HX8;F>*ijyFco@vo>woS^xe6CBUy(zSR3iW81NPv!|7BT{^e3k3RCUIKIF) zyqxm}TDNX%S6qIT3-SAG@}%k3tXT_Nv0{}5uds``*j{?^89U?jlRTYZSiaHwGw!en z7*;>~>(**eraTiTj@LDSD@x8N89sD~O`SMF zXU0LZo!WM^v7dh_0XQ{fm$hi##^QO)Zex`CT(Dmri!!Et_a$B=zoh@46 zeZGDZoqHGEnXxhufunElKK9BBFKR$vy?lkWZ{0@c(IFT&^ge&ldFQLYa&}dX8ntYj z3;6UI6d9#MHxr&jfVP!^!~bQ&Zbe9bUeU0tIwb-^0D-X}IYfaw3SzOJ$G~;GPkv5_ z@ymb-NitM?&o^ZNpNoKiRw}TeKx5)oAwBY^{1GTlavFRKkWNf1rk9*fX*)+KRV*L` zmjN?3DUJLW0XRwq;X3L2gP>x)zY5B}iS)&Djmr+Dio(Qw>2u-(&@Vt5)G-k^IgfII z+hp*N+@?&xwJOxpW3iRohpKEL#HhIHq`e4y4-JKM%0Trh#cLTfH;uK5P)k>Uv!oD#(%T|+W)hH7~aPlLo?9*>Eb z410+_Av}{OjS%V4W0NAk3Q98ReXO$wuJqdfmOcGn1SR5s0Ip-%9MoQkD0-&8L^(ps z1j-1XmOY726W=K$w`qhJ4t__z;3>9qc}SEi0SA9yF(jTR>UeN^<)K_s#HYv6o(cZw zqoe;~G-Ukqdh$%;U#K@pgk(rBfiwU0p64lr{+FB|{YUwF;4e7(UWL&dZR zdgh4)s^*>lLUYN6UDYvU6?#_yJ$ELNoNi1njv2};f!7EzUT7blDQf|@W$zD$av>2{ zW0c>L@Ai}(nxylb`BqdCRpkG1=MP_DTnguuGhTU}X%DY^tef)XJ2D|p|KTzQ?jul! z_)Y1z--iEVA&KC=4w4&I&3K474i($`n{0FXA%I-RScW|MpD^rFC(`7X9dV@1ydx+j zQRamZ`i%V;co`!xRA|vL{mtJ=Vd?ROJMU{!%F}24HsX}N1;B#>1fGfF zk~bk8%0in2g*f@KD4F9DV%f-opra*FzWb-bTOxgUVc6x8;CApp|Bbj+5&6dFVO+<> zuB0V)nRrfa%#$$cmg9x~AK)jMkNm44;-w;#)x+vz*8%bvayc|2_m%lscG+c@Na3r+mfnyYQGz_DcJ^;X zU*H9rNPJIV!$N9at_-`hI~zifD@7NM6wSk+2al^Zi7z73xc-j>>PFoYvW0%j>Kx#! z!asU{ctRTNeS-4LebV(@j=ggU-u^cy_=qBMIacpO! z35H#Ed*YJ$+H0>B4+woY@H2QLdLeYEe2dXzd+JX0S)JeS80CCN-ly+mC#hFJeLXDl z<~@2_$vggxeBoQ@R^VZLmy+V&h0kOd3Oi^y2B}E=mH8p_Cg>}+NlME0Qv6UZ_%_es zq0ldJ;j7RiXPfdY)=N9eWyHl}Lb^Y5$`HS1moewZ5-)g{(>%<}8{JDg(aPXSx#I*- zyY>B-cH$d&HTTpX+{AkGOB{4w(|2YtEe!FwM0aBN~U1S2QPHMiqZW0pUR<;cznuCxJ; z0m21*9NRFy?%1-m)To8-4L(mhYA3OOBmR!O=m0J-_+dyRJ>*b%kbwX^VA##b4aRrT zUXiEkRm;xI(Rssc+QPUS`w8_1w_HQx1QtwFcgjawGe+UkxY*l1!|9hzZKY=(d%m;- zZ3FNPbT1n9L?|nGftI0vkVso$*yB6RoxSMrH;nxRXbG9Qu!weJ?C`O~=R4Zr>v46= zo`-NmS&$DXBkiwqc)h~u8Q5arnV!A}eu*3J8E@#z)LqZK9vq=U`IuK}F}45h*qI{y z)8Fa0={{eFXJgD|kv8|>93v=(Rnkii$Rf<~@i>VtmwOs`>(z1eLO**Y^2#!;Q69t@Idal-Y3{)3?3O{WeoOT(qI!^@&Z(ziB3I8 zrt)zGV?6o8dnoVrZCjKUM(;Qeg}(44fUSU}2;el*5_J*2{Vj%Ga6?|%EOheni2nQ= z$y%Bdg*IRTyub2vLaL+(-C&o%cpmcyGjS6k0RJVxzh(D0gkd*X51V`)AsTj(LHYgG zuzMH-H9i<1mjDVp3~lWU(mQ?JvAb`b&7JhP?a%zg_H2LM_HKUO_HX{H?Op#zhd+1^ zdejbVdelnRK5F|m{>}1MK4m+XK5y^8_;Y9GOPmn5IlaMbSkc6eDQ9wfT%hOd%)%Ty z{p1rgNI+m$UU{XAWV_NbtaF!cHfZn>D%Ym9TdZ!idbVW#QYrqbRjF#{pMS21bmi)0 z)}>o#TfKIb2C**w-TYY#GkKqU?F)k=t2i+7BDD7(;OT$#ff(%S)vK*pvt~AN z;zSX4=gyt&?6c3->MYzQa~{Hd_uQ)ifSsP4gMw=%jIXDiak@IY&b#f{(bleCC&sE> zyUxI1RDJvRvpEaqOUcX`tBV&d3TFj4T5w0bam8vY_5rA7L98t(0MRP|togdi0luA+kfaZZdMEZrX1B`V6!cE7w|%3r(ZG9A~GV zb&fOg19I2=#NVE_SKoe{aWmmI+KDg_sHiiv(BTcqJb`O?1kPX^1$$)7{K-##A|}g3gw<}67<_`d+Xs;zT{_#8$rHusTDR|DSO4h8mf{0?R&jw= z6{~YPKr7RxPPD3(Dp~W!4XkOydNzB`boGZW-MZSuFDK}Hnv(nyyZF3|?CsZI^K5oo z-#)$U-FM#>y>V8^Ew|rhe|zqE$GKUz?wpUz8M}L}NyA#Ue$8^VcZ-HCtY(b{R;f}= zt5&^^opRc#wmoHw4L^FQ1TtJ?g1$PnTgnx4ZVs!-IP)OaQg?2%v(Gxs8Fq@-`$qfp z(@$;q@ZoCX6Hh$ZCXAorgLR(u>o-7o(@*GE9XqshJdBrdw{D#pPSq{=V z#D$408!}{=jr#a=(FrU1=)bHG1wRa=;Viup8_>U(52~9a(42AF=@J6BZ%?uI?K?WZ zU}aelM1S#%+w9esUz3p3p-o#GH+qaG6%0S!x^}h+6UIrP#b}H$hWnkKUAs7+n5W$) zl%rkCwzhP^5*Gk`BH`(D>e$V{o20>R;K2Sq$(g0{vFn(=Ja_JV@d}!?QG=#7Ylh?B z)6s5!?;p4+Y}2Z>WhVM0Jch+4Z@luV?t6J3ogvQxE>L-zg9Z<^`3n~53>bE-(Wj&i zV9-y5Ae1FQ%53P*e{~(-9lj9z8iO>~4Eo82-PorpLb7mC(XdO1<2%AGypq5*f-<~5 zKI1;-O+bJEcL)y^LyUJYFm@zE#rM>+43M|V0rcZgD&SQB>JmY56W<}Q0`Ys=6^Qp0 z)A0@^DEAxz->KqY2s|l3lnfGzriy8lLdAN26&(7zSRwj-gwjg#JP}{@fQGpTXNh>_ z^YCwC;4(rY1iGiMmno0@srt0?@N49Um<~H!xQfRE@O>04i5o#}D4dpuuQKfFt+!Q0 z!!E_6UdqSgD0j+*@y2;K?v%+(3Qdn2A$*^xKk*|Z%17P8t{Cc(ps9qw&nF1eVPY5R zQtms|l@OklLHTeH{tt>zy0P~BdR|Ufr6ET1M`6NjniOUF_=8fG<9A6tDtSpEe@~%h z7jkTe_ivXUSsay}o~9iv!mY>0H4_tiOCOd?Xom z)i1yo?Ndsx4j!8nl@foFp+fivumAawoQMblgawFYqDFcKEvl>m3zU^#J}WbBMjZJg z{UyXkN`@E?eh0ov@sz-A8StzO4*tGkNIX|XDyDTXluL^E-iGB2yG}C)8+Icmh~u|P zhVim=;0L5_r_Nltnzj+lXJkPtKdN zC6})vz6cfLmA*R&x3P_glMEH(l|i`>I)r; z4*V}NnP`Er-0#ye($%J!?3^MMc68}{?qK8%?r=RhPZNmklHB&X{*Q!Ek20C+PdAXG1cL3LlBUHFIv}-$1e6iU<;s|Y;fgln zcqD?1xz3-E1GHn(iz3(K{>wXLdUoq(`S<9c=m!ArITBBO!s&zWnIEHz)6O|3BA!L# z4#qsr3hmUXiq;&hEW7;>e?H?u>crd*Fjb zKLCsEwCm94mSudr%&;~ zYYw(g^Hq$yv=uZ-y-6zuXc~Pe^&}=A9?@w8_3S~hpKx2uPOf{+LC8K2qQLt}+q#^D*R*vsk%t%r62hg?gZ0Iv!B z?_}YFml1vGph1Id)|}aD1ArZ^7<4($82JF+&Df{ivd#{+zx>d1wa$W#Lhzi642e}sZ1Z;}Qjl)>S*iBY^MAFw zfB6f~IJiN4{`u#%ixfWHta(eDGC(lCosWC% zjyrF+r=I?+8lORW(%8vfZnM*lKiwA3S!~-kZ!r#rkM)Hxi2Kev?`UT%E?FBiXk?2P zEY@JgAUbK>_;9AI7p7&)mNMLJ-nzwV)~+RifB^}2sCWG0R(t#PH$2$`*0OmEn>Aym z=MfIl?%k)K3@zjb{XyW{wr!Dnne=qWt(QHSVQt*7&T7}HAqFDX%HB}7{OsrU!F%tE zv0!Y)kb^r8%7#&O;@EL2BOSYI=PovN>Qw8~r;ivZLJtgs9lPwVWQEeQ70b0_w`TPk zsyhbXbao#eHNwUx(qdrm*}aD?m_Ez)WaZg_?!9d7lI51Roz*yIKl%Cp*ysu4Y|Xm0 z8l0znF~Rm_7Fd^dootK?A6d>AyLlNlt=(w5eLy~P*irWJsLy50g|+n?GDPZ93{WSW za;nb5OL1Y3K}*5QAVJN;f1|f1^8~JGE0|9-ARTVQ?mlPm#d+Cs?>leqY?T3bGp{*) z)@azk-u>k7GVCHKvI>foRGmAuwVm5HSypQCRe8BU5 zbH(?sv^QUU%~H2-lYw&Gx;4%$SxJ;`yXYC7p-!EkJU=JQ7@7~_4@0svM;|J zZD*ZzmImPOfB*a5@7}W;Z~Te$lBqj0tXD6m*I9FdVC4xmZPG}F>zwR#Yt^!;R!8FM z1ObV@M5tT0zT;|<$KiaH5^L3}jZL0B+24mrZ&9JwF)!1edHM;v>(1Nk$tV7z!GJQ* zhE1C`mEgd@ju3s@ZFkt1FGfp{>d>yet#W}7oUM0!opt8vE+|fyu%fdXT|mPiG`N31 z8#nq3Z$cOFoF5G6*I)fVCyTR04tPK8=XLi!M=99w|Wc0C9vQ{vhO z#%QoA111TFh^y=5`-%|Xe-%XBmH$qH2H;~R;|&16=U31Cn^+&w<00b5c*#%}A|00j zSOaHF90=eoOlCqEBmFQLC8b0bnj9RQM^d_8u7J}d;8_HeO^L*4L&ZpHS8^j=wV~sH za_sS^#8saDJ^eHqrlipH2Bkv?xL+bb?+D=J3EzarQbOW~ zG(sq&x(GZ=f|!442zgh8vT}uQN<$(ccwAg~$0OtyaFvsrua)#nK;xu^)xMc|S(cfd z;gS7`$J2n~=`;2!j`KaO*jC+{9D2PKH&KoRJrRUH0dC{qFx{?FTz&;3`=x$yu+6#G;4 zO+5+a2)rsh;V-F>nrS1U*aOkrJu>pmP*q@D`Q3ED*o^_whHBIlkd}*}DX) zh$9H?67!9y6kd`b#!Cj3F)74+>B~`JgL0Q~8+i}q2+9&E6O#htFyC<84!nuBLS~hb zhnSozPnQ+d&J=_X?eEn8(pi z2#{T8>%;vHPG`_cn(!;aQ4 zZzy)Yif)$$rz)`19q$7ZGHchSqs^H$U%ZO?QTCjye6RaH>)X3uIGWA#V8=P<*X3p8 z*noZmWw^}CVT06e%S>es6#6>z9qHqOi$Ttip`#BcTyI|AWjcxh7 z#p(jZxrN#YF=rN=N&Jz|yD{v6Tj+tZfh+1lx-78P9Iy}%4+TmaLv!p-h1vPmw|j5t zK6ma&Lp&C%pzSF-(G>g{^$m4!JnV6~lQGi)!zcW8#oCoN=!n6#ay1?Rov(P?6l52A zox)f}e(;hw*2Z7PEy{{clKj(lWoaDay^fGe)JN{Ly`9nF@k^RKr~RYh8QM=v*%|QQ z0r$z2g*J`yFLBWM&zm_{o(y(wO%-0WYnC=Bc04l9I$aFt)7xfGpP_gl1G>)jafe?H#l@+Q(?}V3#q!T1@10A-$bHkv#8hO`CAf9Nk%lY&U*Na&(T$roiPzu>Rb#NfXJcQM&k1Nh`gt^n;&m%*tZ|$;(01}F;uWBL zQD3)n=dREeyRo?>&bsxq)Q3Duer}OA19>qlEj7~)>~>j<9p#C5l#TPdagR*ikq3ps zd)d8BaE;!nU3=TKZoS$e?B)%+733BmBQsaKf(h_E@CQ$#zL91Kr8>-n{-a-?zBXmj zWaWkKH}br#sVUk?Oh6`!eT0{Lyar(^j{sBg4UOYJx6@Dq)d;7&e zxqyQWyGxy)2OiFS)Wh-{b+HuzUJ5Vx*0B2x1TcUoBT5#85IVRwemTSLdYd!;G24^! zk>#y<)(TfYVYbO(Ibc8={=Ue=vS7v=swF{^q>{4ecIAjzG$DndzbgU6`tS@ zE8LCySUNt9Q=LMt(#bt%9X4}O^mDctU;rOwq@&f>(_svEnl%l3=+Ba zytB@?H(z-}{_y+v?=M3OE4VpZcF zR5~C``R+S@DZ?3O@%HKE%yTBY@-QS6Td&@IZSK4Unw&w51PJw{lTNTV-+Wzo25>Kc zAqvB8zrMXoCsHuUU*3L)z4-hKGWK?C-@&F%o}vaMzt+uL*s5jAwGs(tPX41m|HAt9 z>t|!fj#WFu7)OpAX|KQehE}aLY~0A!uU+SDz2C07>M9#IVZ7Ydbm-L4)~s4BM!~M% zrj47}x}_^@e?hUeYS_fS{50&2M6kKw;_up{Pd+XNJ;0gJyooccI4#$P4HzQVvf17d z<%)UIRGqWiq)~I5zhH@F`5=P4^rt7Du%F$2yFK;nbN0($-IG`~tK<~`C_&f0s5>|6 zuZd@eGbHl_uAw8C&(|4t|2EVbfw2kYQ+pwVn?A`a?utKM$R_)r_op;nj5cPbO^F<8--x(k;hCd2NWIjrE?ZynmVw$1C;Xa!KmHXZDzH{GJ0 zxtx250K0MXIvaY#Abay|&WS!?k3asb)vw>urc4ft8c2gP8mQkBk3VYNyLYz-9(X{^ z`MKwwvwQBj&uQ-(7aF_|dFJ)&H`Iav`r7ub+w7E+PqaxB$7>L8*S4iS^w5LeE}{R> zHVoFiy>BgEwA=@KT%8o#@Zm?PE!2LFD}?C+&PgcFw-Zk|&T%x@X3UtO!GXZ;b`04V z3veG!dI^?=DH zE~3bbi7G+{D-okW$ixji5lAcf`dX~wod!1_l3k42OQ4tk$RE2bx9&>{?^)LHQ1kSaOK@sTtfF>9oKhz8A^)`s#@GcQQ#;XV+ z&~9ab(kEc7OwmPL#xf=s2$8rXVsc49046TH4T$(H3uS4mP6-7ZP|kn^P=`c$X+y>G zHjR@TQYCE(tjqQ66_ z%R-}|L=5>7LMr}!;)-joRPMz4()>$98GcHE^pqy|ewp+Q^)4Ory;6)51f4VE51Bkt zSE8dh&{;H&CrSc7NEby4JelJP@JfQ4Hd2SrNRi@k<0@aZiOLi5BVBL;a80>rLvTTh zX$I(sh7M?xXxJ59@V(Lq7^1x7tH1?7BRM43`9B(BJ`S-wrFq8k0nq%z5bXc}|MW>j zK~yD>Xo^I&yv*S@v^luZ69>Q4->(R~R0QId2hs|(0_~O6JwO>vhCJhU|6-_6$9P{3 z$fIJvOu7%xLb?0{fv1*$vhs6}S^~pvsbN3yT{3^*FW3VVco1Iw!%#6Tf}W`i2|V!& z5A!j-l#Y`E@ymaoxbTo%6rRU-rRegvp<2byUSIA6`^{|s7(ce{f4`pTXm}Kogd_zh2CB(W$s2D2Z?A!27htLnp zphBRjk|8NXdZ7IyBuDwC+nWBZam2@a#wO_f-!<%F5FwBz@=P@1#(I(u>2n|D&!#kHBz;ahEhO zG@$Q@23`R_{##VYZlI74WskfuMk}9Jcn=U1m&WJXBWrlz73KBkDzo1r-|>!nMdUX^ z+0VZeRK_HT<%$3=Oop=T5(O*;a0U+y^RzPlij0KUnJ{l5a83J@UkqH4{yz@MdH(ky z){9>h>5@ggeq2NQ;EZ`P9`w+;#YS=LIac;LcEZ8|>Q0~FHS*uK%nWTZAmBn3)bLL7 zr2oo2xBv2tRw#$Nr0ah<@M(lZ9b;PtC}00?IvlF5Jc~RE{uJlu%$qqkmpM4V^@0Yje*vJO^DPdRNAE?xSHh8UVP*_zV9MZ}B2&v6o-xq-8kTytSQ2Xm^~K z3j-!bKp99VK7DtO;}&%K<&JHEZqT)*XFFfpgW)F_#(2+Mllg)SSAJhAlX$?W%0`Uh z0_U6gl!s%`&}W4Z<&yk@BJIl4oDF%*aR#oKi|FVV`nKnf2TXKQe1tIu9TJ9AjH|6% zwzCBoJN+F7XY{;W7vvRNk8V9}?(8`-DB=qFfb+xsUM{@TO_(^@>);W+z8I{~7h#N| zWO3t9EGy~3v!l_lAkTSzrq{=>G5E$~Y5?X+kxyZi#IQT=%ZbuU1^!6?+vnwHYzXu$ zp5|>rV15>jx?4BzussD{U&rI_tRg%9h>Rij%>fbt!k3VXpefilK$BB;pZvaNr&-nMSVnowUa8t$8m9Y>UM zYsyZIrO=Oz?EVy^U`DE^Nu75)zbRzbtdF7l_gK3wUhfIxMKjr%d9p#!4#JzKzhzT6 zrzI43;1rx(js* zM&v*T82O=58WLGR^y`6o;<=RMFx>CeNmxXBw`P9WS(%4DntdJTzi|Y15*mjODZ? zbfvVMHu-gSU`0-!bQ$P^K0=@_&`rFCAJV3xdyh;y-8*-&wJTSZ<_S&UirZ^q`TO?B zQvo!`d+*?uo0@L>yTdlZcmk)jn zjI3TLu-%0j_W398+DXTcu$;^kD=y0Q4jtSho_hKz_J>FQXhV+}W_R3irw`nFZPVJ# z)~{!OOWn598RLGdRjZaa?7cD`rR>~l-Me>{zjcVIb?er)cJ(^raPu=yIm_nGn4{Gc zS6}r5yX($70(0hx*Wy=M=#F*{B%E=`y;QNk^5nK6XO)qsc2p7z}7Gi^^!z8%?rkllLo z&$J2*_t3|me3H#uv``HG$RR^*?j&b!*@f1lb9bBW->_4#wU=SZqNN&qd-v>P%a-|| zf-vQ2FI%(5&c5IRJLBAQZMqAB~#HK= na7{bGd=6#UMNp;PqhVLf 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