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

Implement the authentication procedure at application level?

Hi all,

I have a devicewith display and only want a specific smartphone with my APP to connect to it.

I implement the authentication procedure at application level by adding a custom Service/Charateristics and checking for a changeable password(one-time password).How can i generate the one_time password(Isn't the way of ble_app_gls generating passkey like this
p_passkey = (char *)p_ble_evt->evt.gap_evt.params.passkey_display.passkey; ) ?

Parents
  • There are many ways to do this, depending on

    1. Which side is doing the authentication
    2. The control you have of each device

    I would probably design a feature using GATT authorization. The initiating side could send a read request to an authorized characteristic value on the peer side, letting the peer application retrieve the return value from RAM/flash or even user input before sending it back. The value could then be used as a challenge, and challenge-response could be written back to complete the handshake.

    I'm interested in why you do not want to use the BLE authentication procedures though. Is it because of security implications, or does this have to fit into an already existing application? OOB authentication is often overlooked, and is more secure than just using a 6-digit MITM PIN.

Reply
  • There are many ways to do this, depending on

    1. Which side is doing the authentication
    2. The control you have of each device

    I would probably design a feature using GATT authorization. The initiating side could send a read request to an authorized characteristic value on the peer side, letting the peer application retrieve the return value from RAM/flash or even user input before sending it back. The value could then be used as a challenge, and challenge-response could be written back to complete the handshake.

    I'm interested in why you do not want to use the BLE authentication procedures though. Is it because of security implications, or does this have to fit into an already existing application? OOB authentication is often overlooked, and is more secure than just using a 6-digit MITM PIN.

Children
Related