Posted tagged ‘pairing’

First step towards BlueZ out of band pairing

November 3, 2009

Does Bluetooth pairing sucks?

If you don’t have a simple pairing enabled adapter it will require more patience… It is not my objective explain Bluetooth “legacy” pairing and secure simple pairing.

When both adapters supports secure simple pairing and theĀ  system provides services to reply the host controller events you can use one of four available association methods:

  • numeric comparison
  • just works
  • out of band
  • passkey entry

Read the Bluetooth Specification for further details about association models. This is the initial attempt to provide an out of band API to BlueZ, it is out of scope to implement the application used to exchange the OOB data. The classic example is NFC (Near Field Communication), users can simply touch two devices together and start the pairing procedure. Another useful scenario is when you have a device with limited input/output, where users can’t type or confirm passcode. The source code and a command line example can be found on my branch oob at infradead.

OOB association method is primarily designed for scenarios where an out band mechanism is used to trigger the device discovery and exchange the cryptographic data used in the pairing procedure.

The current code is not in the mainline, the API still puzzling, it will take time until we write it in stone. This project was part of a BlueZ 2009 SoC project assigned to Faruque Saker, the testbed used to exchange the OOB data was 2D data matrix symbols. Of course, it is not the most suitable OOB mechanism, but it fit into our purpose.

Feedback and examples are welcome!