Skip to content
Zyberum Cyber Security Firm
Menu
GlossaryIoT

BLE Security

How Bluetooth Low Energy devices pair, encrypt and authorise access: what the Core Specification defines, which pairing modes protect and what we find in device tests.

Updated This page as Markdown

In short

BLE security is the set of mechanisms in Bluetooth Low Energy that protect pairing, the link and access to data: pairing methods (Just Works, Passkey Entry, Numeric Comparison, Out of Band), LE Secure Connections with elliptic-curve key exchange, link encryption, GATT attribute permissions and address privacy. The specification offers strong options; most weaknesses we find come from devices that do not use them.

What is BLE security?

BLE security is the collection of mechanisms in Bluetooth Low Energy that protect a connection between two devices and the data exposed over it. The relevant pieces are pairing (how two devices agree on keys), bonding (storing those keys for later connections), link encryption, authentication of the peer, authorisation of access to individual GATT characteristics, and privacy through resolvable private addresses that stop a device from being tracked by its Bluetooth address.

Pairing comes in two generations. LE Legacy Pairing (Bluetooth 4.0 and 4.1) derives keys from a temporary key that is zero for Just Works and a six-digit number for Passkey Entry; an attacker who captures the pairing can recover it by brute force in seconds. LE Secure Connections (Bluetooth 4.2 and later) uses an elliptic-curve Diffie-Hellman exchange on P-256, so a passive sniffer learns nothing. The pairing method then decides whether the peer is authenticated: Numeric Comparison and Passkey Entry protect against an active attacker in the middle, Just Works does not, and Out of Band depends on the second channel, for example NFC.

Where is it defined?

The Bluetooth Core Specification, published by the Bluetooth SIG, defines pairing, the Security Manager protocol, encryption and the LE security modes and levels. Security Mode 1 Level 4 is the strongest for a data connection: authenticated LE Secure Connections pairing with 128-bit encryption. NIST SP 800-121 Rev. 2 explains the mechanisms and gives configuration recommendations; its tables of threats and countermeasures are a good checklist for a device requirement specification. For consumer IoT, ETSI EN 303 645 sets baseline requirements such as no universal default passwords and secure communication, and in the EU the Radio Equipment Directive with the harmonised EN 18031 series makes cybersecurity of the radio interface a condition for the CE marking.

What it means in practice

In our IoT penetration tests of BLE products, from ESP32-based communication modules to household and medical appliances, the specification is rarely the problem. The implementation is. What we typically find:

  • No security on characteristics. Writes that control the device, from unlocking to changing settings, are accepted by any central that connects, without pairing. The pairing dialogue exists only in the app, not in the firmware.
  • Legacy pairing still enabled. The chip supports LE Secure Connections, but the firmware accepts a legacy pairing request, so an attacker simply asks for the weaker one.
  • Application-layer authentication that is a constant. The app sends a fixed token after connecting. Sniff it once, replay it forever. Challenge-response tied to the bond would cost a few lines of code.
  • Firmware updates over BLE without signature checks, which turns a sniffable protocol into a code execution path.
  • Static addresses that let a device, and its owner, be tracked across locations.

The fix is usually architectural: require LE Secure Connections, reject legacy pairing, bind authorisation to the bond, set per-characteristic permissions in the attribute table, sign updates, and use resolvable private addresses. Analysing all of this needs a sniffer, a controllable central and the firmware, which is why BLE tests work best as grey box with hardware samples.

Common misunderstandings

“BLE has a range of ten metres, so attacks need to be close” ignores directional antennas and the phone in the attacker’s pocket in the same room. “The app requires a login” means nothing if the device does not check who connects. And encryption in the link layer does not authorise anything: a device can be fully encrypted and still let any paired phone open the lock.

FAQ

Frequently asked questions

Is Just Works pairing insecure?

It protects against passive eavesdropping when LE Secure Connections is used, but it gives no protection against an active attacker in the middle during pairing, because nothing authenticates the two sides to each other. For a device without display or button it is often the only option. Then the protection must come from the application layer, and from granting Just Works bonds as little as possible.

Can BLE traffic be sniffed?

Yes, with hardware that costs less than a dinner. Unencrypted characteristics are read in plain text. With legacy pairing the temporary key can be recovered from a captured pairing and the link decrypted. With LE Secure Connections a captured pairing does not reveal the key, which is why devices should require it and refuse legacy pairing.

Does EN 18031 apply to BLE devices?

Radio equipment sold in the EU that connects to the internet, directly or via another device, falls under the Radio Equipment Directive cybersecurity requirements, and the EN 18031 series is the harmonised standard for them. A BLE sensor that talks to a phone app that talks to a cloud is within that scope. The access control and secure communication requirements apply to the BLE interface as much as to the app.

Sources

Related pages

Get started

A term that applies to your product?

In 15 minutes we tell you what it means for you in practice, which requirement follows from it and what the sensible next step is.

  • Direct answer from a security engineer
  • Which standard or law applies to you
  • Free and without obligation
Tom Zaubermann

Your call is withTom ZaubermannFounder & CEO, Zyberum

Call us: +49 176 439 17074info@zyberum.com

Or send us a message

We reply within one business day.

Call usAsk a security engineer

Pick a time that suits you

Open in a new tab