Pairing and Bonding in BluzDK



I am concerning about the security issues in local communication of BluzDK.

I am trying to add a feature in Bluz, after which Bluz will behave like this:

Bluz advertising
Mobile app(central device) tries to connect to the bluz.
Got connected and then app sends some data.
Then it should pop up a window asking for passkey for pairing purpose.
If correct passkey is encountered, then only data should be sent.

And I also want some devices(Mobile phone) to remain bonded with bluz after passkey pairing process for future uses.

Any help will be appreciated :slight_smile:



Do you want to do this with BLE security? Or are you saying you want to add your own security on top?

If you can provide more details, that would be helpful. We don’t offer any security for local communication, so if you want that you will need to add it yourself. We can certainly try and provide pointers, though, to the right information.


Hi @eric,

Sorry for the late reply, I want to add security in local communication only. Currently when I am sending data locally via NRF app, it is able to send it, but what I want is, before sending OR receiving any data to/from bluz, it should ask for passkey.

Please help me

Thanks :slight_smile:


You would need to implement this as part of your app. If you are trying to use the BLE security pass key, then you would have to change the system firmware on bluz. If you just want a pass key, you can adjust the user app to require one.

However, you may want to think further about security and how much you need. Pass keys are useless if everyone knows them, so would your device only require one key? Or would it hangs over time?

This is a pretty specific application, it is difficult to give any advice without knowing much more.


Yes, I just need a single pass key fin my BLE security. What do I need to change in firmware ?

Thanks :slight_smile:


There are a lot of examples and posts on the Nordic developer site that would probably help, here is an example post:

There are a lot of great example apps in the SDK, so you may want to download it and start there. We use SoftDevice 8 and SDK 9.0

You would need to change the underlying system firmware to handle this, and it is written with the Nordi SDK, so you should be able to find and add the parts you need relatively easily.