• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Windows guidance for Bluetooth key length enforcement


Windows guidance for Bluetooth key length enforcement

Applies to: Windows 10 version 1903, Windows 10 version 1809, Windows 10 version 1803, Windows 10 version 1709, Windows 10 version 1703, Windows 10 version 1607, Windows 10, Windows 8.1, Windows Server 2019 all versions, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012


A security vulnerability has been found in the minimum encryption key length used to establish connections with Bluetooth BR/EDR devices (basic rate/enhanced data rate, also known as "Bluetooth Classic"). To exploit this vulnerability, an attacker needs specialized hardware and is limited by the signal range of the Bluetooth devices in use. When the devices are pairing or connecting, the attacker may be able to interfere and intercept the signal and force encryption key size down to 1 byte, down from the maximum of 16 bytes. This may potentially allow the attacker to decrypt the signal and the personal data within it or hijack the devices themselves.

Note Bluetooth Low Energy (Bluetooth LE) devices are not be affected by this issue.

For more information about this security vulnerability, see:
Note At the time of disclosure, we are not aware of this vulnerability being exploited maliciously.

Mitigation available on Windows devices

To address this vulnerability, on August 13, 2019 Microsoft released a Windows security update (as part of an industry-wide coordination) with a Windows Bluetooth (BT) encryption key size enforcement feature across all supported Windows operating system platforms. This mitigation is off by default and must be enabled via registry key.

Customers must enable this functionality by setting a specific flag in the registry. When the flag is set, the Windows software will read the encryption key size and reject the Bluetooth connection if it does not meet the defined minimum key size. If your device does not support the higher-level key length, the update may block connections with that device when the registry flag is set.

Previously, the firmware of Bluetooth Classic devices would negotiate and determine the level of encryption for the key length from 1 byte to 16 bytes key length. After installing the August 13, 2019 security update -- and enabling the EnableMinimumEncryptionKeySize registry key -- Windows will reject any Bluetooth connection less than 7 bytes key length. If your Bluetooth device, the Bluetooth radio in your Windows device, or the driver for that Bluetooth radio does not support 7 bytes or more encryption key length, then it may have issues pairing when the registry key EnableMinimumEncryptionKeySize is set to a value of 1.

Users who have issues connecting their Bluetooth devices after installing and enabling this functionality should check to see if the manufacturer of their Bluetooth controller is providing additional guidance on updates and mitigations. If the policy is enabled and the Bluetooth radio in your Windows device, or the driver for that Bluetooth radio do not support the HCI_Read_Encryption_Key_Size, your Bluetooth devices may no longer work.

Note If you are having issues pairing or connecting Bluetooth devices but have not enabled the EnableMinimumEncryptionKeySize registry key or the errors in event log are not the ones listed below, please refer to the Bluetooth troubleshooting tips in KB4507623.

Guidance for advanced users and IT Pros

If you would like to enable the mitigation for this security vulnerability, you will need to do so manually. This mitigation is off by default. This ensures that peripherals with encryption key size < 7 continue to operate until an administrator sets the registry key. If the registry key is set, any connection where (a) the key length is < the encryption key size or (b) the key length is being lowered from what was previously negotiated (detected attack), will be blocked. By default, the minimum allowed encryption key size = 7. The registry key state will be preserved upon upgrade.

Please note we are shipping this mitigation off by default because during testing of encryption key length enforcement, we found that some Bluetooth controllers may not respond or stop pairing. Some BT devices may not support the minimum encryption key length enforced by the Microsoft update. We understand that compatibility with your devices is important and as we cannot guarantee compatibility with key enforcement enabled. You can enable the mitigation based on your own risk assessment and compatibility needs. If you have access to sensitive data and use the device in an area that does not have physical security, we recommend enabling the mitigation for this security vulnerability.

Note Testing is recommended between any hosts and devices you plan to use together with EnableMinimumEncryptionKeySize enabled. We suggest deploying to devices where you have tested the configuration, or Bluetooth usage is not critical to the intended role of the device.

Before deploying this mitigation in your environment, we recommended you first test any known devices (see issues below) and that you warn users of potential issues with untested Bluetooth devices. If you encounter issues, you will need to check for updated firmware or drivers for your devices or contact the manufacturer of your device.

Issues you may encounter may include:
  • Bluetooth devices may fail to pair or connect to your Windows Device.
  • The Bluetooth radio in your Windows device may stop responding.
  • You may receive an Event 48 in System event log:

Enable key length enforcement using Registry Editor

Important Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or view the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe.
  • Select Start, select Run, type Regedit in the Open dialog box, and then select OK.
  • Locate and select the following registry subkey: HKLM\System\CurrentControlSet\Policies\Hardware\Bluetooth
  • On the Edit menu, select Modify to modify the EnableMinimumEncryptionKeySize registry entry.
  • In the Value data box, type 1, and then select OK. This sets the "EnableMinimumEncryptionKeySize"=dword value to 00000001
  • Exit Registry Editor.
  • Restart the Windows device.
If you do not want to restart your Windows device, you can reset your Bluetooth device instead:
  • On the device, go to the Bluetooth Settings.
  • Turn off Bluetooth.
  • Open Device Manager and locate the Bluetooth Controller.
  • Right-click or long press on the Bluetooth Controller and select Disable device.
  • After the device is disabled, right-click again and select Enable device.
  • Turn on Bluetooth in Bluetooth Settings
Frequently Asked Questions

Why was the fix disabled by default?
Microsoft released security updates on August 13th and customers who enable the security update are protected. The functionality is disabled by default when the update is installed. Users who have issues connecting using Bluetooth devices after installing and enabling this functionality should check to see if their OEM is providing additional guidance on updates and mitigations.

My Bluetooth radio controller and device are not working after setting the value of EnableMinimumEncryptionKeySize to 1, what should I do?
The August 2019 Windows Security Update:
  • Determines if the Bluetooth controller supports the HCI_Read_Encryption_Key_Size command.
  • Issues a HCI_Read_Encryption_Key_Size command and tests whether the connection to a Bluetooth device supports the minimum encryption key size.
Failure on either test can prevent Bluetooth connections. Windows devices with incompatible Bluetooth controllers or Bluetooth devices may have to temporarily or permanently set EnableMinimumEncryptionKeySize value to 0 until controllers, firmware or drivers can be updated or the device itself updated.

I haven’t enabled the EnableMinimumEncryptionKeySize registry key and I’m having issues pairing or connecting Bluetooth devices, what should I do?
Refer to knowledge base article KB4507623 for known issues.

Where can I find more information on whether my Bluetooth device will support the new recommended minimum key length?
Please check the websites from your Windows device manufacturer (OEM), your Bluetooth radio driver provider and the manufacturer of your Bluetooth device.

Source: https://support.microsoft.com/en-us...guidance-for-bluetooth-key-length-enforcement

My Computer

System One

  • OS
    64-bit Windows 10
    Computer type
    System Manufacturer/Model
    Custom self built
    Intel i7-8700K OC'd to 5 GHz
    ASUS ROG Maximus XI Formula Z390
    16 GB (8GBx2) G.SKILL TridentZ DDR4 3200 MHz
    Graphics Card(s)
    Sound Card
    Integrated Digital Audio (S/PDIF)
    Monitor(s) Displays
    3 x 27" Asus VE278Q
    Screen Resolution
    Hard Drives
    1TB Samsung 970 EVO Plus M.2,
    250GB Samsung 960 EVO M.2,
    6TB WD Black WD6001FZWX
    8TB WD MyCloudEX2Ultra NAS
    OCZ Series Gold OCZZ1000M 1000W
    Thermaltake Core P3
    Corsair Hydro H115i
    Logitech wireless K800
    Logitech MX Master
    Internet Speed
    1 Gb/s Download and 35 Mb/s Upload
    Internet Explorer 11
    Malwarebyte Anti-Malware Premium
    Other Info
    Logitech Z625 speaker system,
    Logitech BRIO 4K Pro webcam,
    HP Color LaserJet Pro MFP M477fdn,
    Linksys EA9500 router,
    Arris SB8200 cable modem,
    Lumia 1520 phone

Users Who Are Viewing This Thread (Users: 0, Guests: 1)