In Bluetooth Pairing Part 1: Pairing Feature Exchange, we talked about the pairing feature exchange in Bluetooth® with low energy. The pairing feature exchange is used to make both devices, initiator and responder, understand each other’s pairing features.

The pairing features that can be enabled are:

  • OOB Data Flag bit
  • MITM—Man-In-The-Middle bit
  • SC—LE secure connection indicator bit
  • IO Cap—IO Capabilities

*For an introduction to these features, please refer to Bluetooth Pairing Part 1: Pairing Feature Exchange.

After this exchange, both devices can select which key generation method is used in subsequent phases. Here is the list of key generation methods for Bluetooth LE legacy pairing and Bluetooth LE Secure Connection.

Bluetooth LE Legacy Pairing:

  • Just Works
  • Passkey
  • Out-of-Band(OOB)

Bluetooth LE Secure Connection includes the three methods above and adds one new one:

  • Numeric Comparison

Workflow

Here is the workflow on how a device decides which key generation method to use.

Step 1: Check SC bit in pairing feature exchange frame. If the SC bit is equal to 1 on both sides, an LE secure connection is used, go to step 2. Otherwise, it is LE legacy pairing, and go to step 3.

Step 2: When it is LE secure connection, below is the matrix that initiator and responder will follow.

  • “Use OOB” means Out-of-Band is selected.
  • “Check MITM” means ignore “OOB Data Flag” and check MITM flag, “Man-In-The-Middle” flag.
  • “Use IO Capabilities,” go to step 4 to select the key generation method depending on IO Capabilities of both devices.

Step 3: When it is LE legacy pairing, below is the matrix that initiator and responder will follow.

  • “Use OOB” means Out-of-Band is selected.
  • “Check MITM” means ignore “OOB Data Flag” and check the MITM flag, “Man-In-The-Middle” flag.
  • “Use IO Capabilities”, go to step 4 to select the key generation method depending on IO Capabilities of both device.

Step 4: Below is a mapping of the IO Capabilities to Key Generation Method. With this table, both devices, initiator and responder, will find an appropriate method for connecting depending on their pairing features.

After this, the initiator and responder understand the method that will be used in the key generation phase. In part 3, I will introduce how to generate the corresponding key in Bluetooth® LE legacy pairing by using the Passkey method.

FEATURED DOWNLOAD

Bluetooth 5: Go Faster, Go Further

Download this comprehensive overview to discover how Bluetooth 5 significantly increases the range, speed, and broadcast messaging capacity of Bluetooth applications, making use cases in smart home automation, enterprise, and industrial markets a reality.

INSTANT DOWNLOAD

The Bluetooth Technology for Linux Developers Study Guide

Linux has been around in various forms for about 30 years, and the kernel…

Bluetooth® Technology for Linux Developers

Learn how to use the interprocess communication system D-Bus and the BlueZ APIs to create Bluetooth applications for Linux computers.

How to Do Stuff with Bluetooth® Technology

Got a robot dog you want to remote control? You came to the right…

An Introduction to the Bluetooth LE Security Study Guide

My house has locking doors and windows, an alarm system, and several security cameras.…

Why Bluetooth Technology is the Developer’s Swiss Army Knife

Members of the Bluetooth® community are continuously innovating. Over the last two decades, members have…

Updates to the Bluetooth Internet Gateway Study Guide

According to the ABI report Installed Base of IoT Devices by Connectivity Technology, published…

In Case You Missed It: What’s New With Blue This Summer

The Bluetooth® developer community is always pushing the technology forward, and this summer has…

New Core Specification v5.3 Feature Enhancements

One of the key reasons why Bluetooth® technology has emerged as the global wireless…

Bluetooth® Core Specification Version 5.3 Feature Enhancements

Bluetooth® Core Specification version 5.3 includes several feature enhancements with the potential to improve…

Connect: Car Access Demo

In this demo, Texas Instruments will discuss and demonstrate Bluetooth 5.1 and its cutting…

Designing and Developing Bluetooth® Internet Gateways

Learn about Bluetooth internet gateways, how to make them secure and scalable, and design and implement your own working prototype gateway and web application for use with either Bluetooth LE Peripherals or with Bluetooth mesh networks.

An Introduction to Bluetooth Low Energy for Swift Developers

All smartphones support Bluetooth® Low Energy (LE) and it is used in all manner…

Building a Sensor-Driven Lighting Control System Based on Bluetooth® Mesh

A technical examination of which Bluetooth mesh models to use in different types of…

How Bluetooth Low Energy Works: 21 Interesting Facts

Whether you’re a beginner or an expert in Bluetooth Low Energy development, it’s always…

How to Deploy BlueZ on a Raspberry Pi Board as a Bluetooth Mesh Provisioner

This step-by-step study guide will teach you: How to rebuild the kernel on a…

How Bluetooth 5 Increases the Achievable Range of a Bluetooth Low Energy Connection

Texas Instruments offers their theory on how to achieve long range with a Bluetooth…

Testing Long Range (Coded PHY) with Nordic Solution (It Simply Works)

There has been a lot of discussion and confusion about testing the long range…

 Get Help