First step towards BlueZ out of band pairing

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!

Explore posts in the same categories: Bluetooth, NFC

Tags: , , , ,

You can comment below, or link to this permanent URL from your own site.

One Comment on “First step towards BlueZ out of band pairing”

  1. Mark Says:

    Hi Claudio,

    I really enjoyed reading your idea about OOB and BlueZ. I looked into the latest repo and was a bit disappointed to see that, after 9 months your OOB code is still not in the mainline. It would be great to see it there, so everybody could use it in the applications. e.p. on Android phones.

    I’m really interested in NFC / Bluetooth interaction, and i think that the next step is to bring OOB into the Bluetooth stacks. Otherwise NFC is about to fail in my opinion.

    Are there any plans to bring your OOB code into the mainline?
    Best Greetings

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: