Hey there,
I am using an Arduino with the nRF8001. Is there a way to add a passkey to the nRF8001 in order that passkey would be needed in order to pair a smartphone with the nRF8001 break out board? If so, would implement this into the Arduino sketch, or somehow change the firmware in the nRF8001?
Tyler
nRF8001 Breakout Board Passkey
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: nRF8001 Breakout Board Passkey
I'm thinking it would need to be a firmware change to the nRF8001, but that's just a guess. I have no idea how to do it.
- adafruit2
- Posts: 22148
- Joined: Fri Mar 11, 2005 7:36 pm
Re: nRF8001 Breakout Board Passkey
the nrf8001 does not have a direct passcode capability - what you'd want to do is add that functionality in your app to authorize with like a serial number or button press. for our demo apps, we focused on ease of use :)
- ktownsend
- Posts: 1447
- Joined: Thu Nov 05, 2009 2:18 am
Re: nRF8001 Breakout Board Passkey
As mentionned, Bluetooth Low Energy doesn't behave the same way as classic Bluetooth does, including the way that bonding works. This is actually intentional on the part of the Bluetooth SIG since the pairing process was one of the biggest causes of frustration for most users. There is no reason you can't implement something like this using custom logic, though, which would be the right place to do it.
- richteel
- Posts: 16
- Joined: Fri Aug 31, 2012 11:04 pm
Re: nRF8001 Breakout Board Passkey
It looks like the nRF8001 supports the use of Passkeys. The nRF8001 Product Specification on Nordic Semiconductor's website lists two modes for Security -
Authentication requirement of Just Works and Passkey (MITM). The Adafruit_BLE_UART library may not handle it so you would need to figure out how to add the capability but it should work. I may take a go at it if I get some time to have at it.
From the nRF8001 Product Specification (nRF8001_PS_v1.2.pdf)
Hardware settings:
--------------
Security -Authentication requirement
Description:
--------------
Sets the authentication level required for transfer of security keys for nRF8001 (that is, it will not accept bonding below the required authentication level).
• JUST WORKS
• PASSKEY (MITM)
For more information, see Bluetooth Core specification v4.0, Volume 3, Part C, Section 10.2 ‘LE Security modes’.
Default:
--------------
Just works
Authentication requirement of Just Works and Passkey (MITM). The Adafruit_BLE_UART library may not handle it so you would need to figure out how to add the capability but it should work. I may take a go at it if I get some time to have at it.
From the nRF8001 Product Specification (nRF8001_PS_v1.2.pdf)
Hardware settings:
--------------
Security -Authentication requirement
Description:
--------------
Sets the authentication level required for transfer of security keys for nRF8001 (that is, it will not accept bonding below the required authentication level).
• JUST WORKS
• PASSKEY (MITM)
For more information, see Bluetooth Core specification v4.0, Volume 3, Part C, Section 10.2 ‘LE Security modes’.
Default:
--------------
Just works
- richteel
- Posts: 16
- Joined: Fri Aug 31, 2012 11:04 pm
Re: nRF8001 Breakout Board Passkey
BTW: I am new to BLE and do not know if using Passkeys significantly changes the functionality of BLE. I have been reading a bit about BLE and it works differently so it may not be desirable to operate the nRF8001 in Passkey mode. If you are able to get it to operate in Passkey mode, you will need to have a server with software and drivers to support it. I too would like to be able to operate with some security but Passkey may not be the way to do it. I need to learn and play more with BLE to know for certain.
Please be positive and constructive with your questions and comments.