ncs 1.8.0 + NFC + OOB + nrf52833

Hi Team,

We are in process of developing pairing mechanism for our peripheral device. We are considering using NFC for OOB. Here is what we think we should be doing:

1. Use Mobile (NFC) to wake-up our peripheral device

2. Our peripheral device sends Key (unique per device) over NFC to our Mobile App

3. Our mobile app uses this "key + encryption" to pair with our device

Idea here is to restrict any other app to connect to our device.

We've few questions here:

1. Is this a viable option?

2. In above steps at Step-2, how do we send data from peripheral device to mobile app? 

3. Is there any example/blog around this?

4. Any other suggestions t this approach?

TIA!

Parents
  • Hi Hung,

    Thanks for the reply. I'll have look at Bluetooth SIG standard again. And we are planning to use LESEC pairing.

    Do you have any suggestion on how do we restrict pairing with only our Mobile application along with OOB?

    One way that I can think of is to just use NFC to wake-up the our peripheral (not OOB process) and share the serial number to the Mobile Application over NFC. Mobile application then use this serial number + secret recipe to generate numeric pairing key and use the same for pairing (no user interaction required and only our Mobile app can generate this valid pairing key). Peripheral can also generate the same numeric pairing key using the same serial number + secret recipe.

    TIA!

Reply
  • Hi Hung,

    Thanks for the reply. I'll have look at Bluetooth SIG standard again. And we are planning to use LESEC pairing.

    Do you have any suggestion on how do we restrict pairing with only our Mobile application along with OOB?

    One way that I can think of is to just use NFC to wake-up the our peripheral (not OOB process) and share the serial number to the Mobile Application over NFC. Mobile application then use this serial number + secret recipe to generate numeric pairing key and use the same for pairing (no user interaction required and only our Mobile app can generate this valid pairing key). Peripheral can also generate the same numeric pairing key using the same serial number + secret recipe.

    TIA!

Children
  • Hi,

    Yes you can do what you planed. So instead of showing a pass key on a display. You only provide the passkey with your own way of encryption into NFC. The phone then read NFC data and in your app you can decrypt the data to show the user the passkey. However the pairing process will be not very smooth as there will be a popup from the system to ask for inputting the passkey, and then you need to switch to the app to read NFC. 

    I would propose the following instead: 

    You can define a procedure required before the NFC provides  the OOB data for pairing. 
    For example a challenge and response authentication. The app on the phone need to read the NFC data (challenge) and then write back the response to the NFC tag. The nRF52 will then check the response, if it's correct then it will start the pairing process and provide the OOB data to NFC for the phone to pair as usual. 

Related