This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Security feature in Bluetooth Protocol of nrf 8001

Hi

I have a module of nrf 8001 and i am successfully communicating with nrf 8001 low energy bluetooth chip. I want to know is there any security feature defined in the protocol of this chip. As i want that whenever a user wants to connect to peripheral through iPhone it must ask for a password before connecting like the normal bluetooth does. Is there any provision for this?

And can i pair any peripheral to iPhone like we do in normal bluetooth? And if it is then how?

Thanks

  • Hi

    ble_proximity_template is not solving my problem. How can i check in nRF 8001 sdk for Arduino that this is the valid iPhone to which i have to connect? Can i send any string to peripheral before connecting it to central device(iPhone).

    What actually happening is that my module is advertising well and successfully interacting data with iPhone but my module gets connected to every iPhone which has my app. Now this is creating a big problem, i want my module to connect with only one iPhone in all possible cases? How can i achieve this? what i can program in nRF 8001 sdk for Arduino that it will check whether to connect with iPhone or not? Any help is appreciated?

  • I guess this question and its answer is related.

    In short do not connect to the device until you are sure that this is the specific device you want to connect to. Identify the specific device by placing the unique number as stated in this discussion in the advertising/scan response. Use a one time setup in the app to identify the unique device it wants to connect to using RSSI. Use the unique number of the device to identify the device for all subsequent connections by storing the unique number in the app.

  • What you want is easiest to achieve by using a whitelist, but this is unfortunately not possible on the nRF8001. However, if another device than the one you're bonded with connects, you will pretty quickly see a disconnect event with a specific error code.

    Also, you don't have to use a unique id in the advertisement or name to achieve this. On the iOS side you can store the CBPeripheral, and then just issue a connect to this instead of doing a scan and connecting to any other device.

  • This is not actually needed. See my comment above.

  • Hi Ole

    Actually the problem is bigger that this.. i can save the peripheral and will always connect with that particular peripheral only.. but suppose if some third party app comes(hacker) then it can also scan my module through its own particular iPhone application and then connect with my module if mine iPhone is not connected at that time.And this can be easily done by any third party iPhone app.

    I am thinking about this particular case,thats why i was asking how to check in nRF 8001 Arduino sdk side that which iPhone is authentic and which is not?

    Can you tell me how to disconnect the connection from nRF 8001 side like in iPhone i call -cancelPeripheralConnection function and the connection b/w the iPhone and nRF 8001 is disconnected. If i can disconnect the connection b/w the above two from nRF 8001 SDK side then i can solve this problem through some logics. Can you tell how to do this or which function should i call from nRF 8001 side that can disconnects the connection?

Related