Bluetooth Security

Hello Nordic Team,

We are developing a wearable health device using the nRF5340-DK and Zephyr RTOS. As part of the BLE communication design, we intend to use **Security Level 2 (Encryption without MITM protection)** due to the user experience constraints in wearable environments (e.g., no display for passkey entry, etc.).

In our current implementation:

- We start advertising with connectable parameters.
- After connection, we call `bt_conn_set_security(conn, BT_SECURITY_L2);`
- We use GATT services with `BT_GATT_PERM_READ_ENCRYPT | BT_GATT_PERM_WRITE_ENCRYPT`
- We register authentication callbacks but avoid user interaction (no passkey/Numeric comparison) due to product limitations.

Could you please confirm if this approach is **sufficient and secure enough** for typical wearable use-cases like Noira Band, assuming the device is paired with a trusted smartphone app?

Also, do you have **any recommendations** or **best practices** for Level 2 usage in production devices?

Any insights on TRNG usage, bonding persistence, or key storage would also be appreciated.

Thank you very much for your time and support.

Best regards,  
Mehmet Efe Öten  

Parents Reply Children
No Data
Related