Hi,
I am working on an application with NCS (2.5.0) that will have central and peripheral devices with no I/O capabilities. During the commissioning phase, I want to use LE Secure OOB pairing to ensure that the authenticity and integrity of the link is assured. Both the central and the peripherals have NFC capability, but due to the installation process it's not possible to bring the devices together when they need to connect. My plan was to use a smartphone as intermediary that will first get the OOB information over NFC from the central which will then start scanning. Then the smartphone will be brought to the peripheral to share the OOB information of the central and then the peripheral should start advertising and pair with the central, given the OOB information through NFC.
I was studying the BLE NFC Pairing example to get started but I'm a bit confused by how it works. When bringing my phone close, I get a pop-up to pair the device immediately. This is the behaviour I would like to see between my central and peripheral, i.e. immediately pair or disconnect if this doesn't work. From the Nordic Developer Academy BLE Fundamentals course Lesson 5 I understand that normally a connection is set up at Level 1 and the security level is then only raised when it is required because of permissions set on the service characteristics. From this Q&A I see that it's also recommended to do it like this, however it is possible to issue a security request manually from the peripheral by calling bt_conn_set_security(). I don't see bt_conn_set_security() being called in the NFC Pairing sample, so I'm wondering if the central (smartphone in the case of the NFC pairing sample) actively requests to elevate the security level, or is this somehow embedded somewhere in the Connection Handover libraries?
I can probably work by setting permissions to the service characteristics, and only pair using the OOB data I have transferred when the central starts using the characteristics, but I was just wondering where the differences are (if any)