nRF5340 (SDK v2.5.0) - BLE NFC Pairing & Bonding with IOS + Maximize BLE Connection Security

Hello, Nordic DevZone community,

I am currently testing the "peripheral_nfc_pairing" and "peripheral_hids_keyboard" samples, and I have encountered a couple of issues. I would greatly appreciate your insights and recommendations.

Issues:

1. NFC Pairing and Bonding on iOS:

- I discovered that the "peripheral_nfc_pairing" and "peripheral_hids_keyboard" samples do not work as expected with iOS devices. 

- I have come across information in the community indicating that NFC pairing and bonding might not be supported on iOS. Can anyone confirm this or provide additional insights? 

- if, indeed, NFC pairing and bonding are not supported on iOS, I am looking for recommendations on achieving secure connections, pairing and bonding. Due to absence of a display, I cannot use passkey, and I am looking to avoid the Just Works method for enhanced security. 

2. Direct Advertisement Not Working (on both Android and iOS):

- I managed to solve the issue on Android by adding BT_LE_ADV_OPT_USE_NAME to the bt_le_adv_param. Does anyone have insights into the reason behind this? The testing was performed on Android v12.

 

static struct bt_le_adv_param adv_param;

adv_param = *BT_LE_ADV_CONN_DIR_LOW_DUTY(&bond_addr);
adv_param.options |= BT_LE_ADV_OPT_DIR_ADDR_RPA;

/* This is the line I added: */
adv_param.options |= BT_LE_ADV_OPT_USE_NAME;

err = bt_le_adv_start(&adv_param, NULL, 0, NULL, 0);

3. Secure BLE Connection with IOS:

- Given that direct advertisement is not supported on IOS, I am exploring alternative methods to establish a secure BLE re-connection after the initial pairing and bonding has been completed.  One approach I am considering is assigning characteristic read/write operations with ENCRYPT permission. Are there any other recommended approaches?

Related