Hello,
We are developing on the CC2642R chip using SDK 3.40.00.02 and IAR 8.32.2. We would like to use LE secure connections when connecting to other devices. Starting off with the example code of the simple_peripheral project, we have enabled secure connections and disabled the use of secure connection debug keys:
uint8_t secureConnection = GAPBOND_SECURE_CONNECTION_ONLY; uint8_t eccDebugKeys = false; // Set Secure Connection Usage during Pairing GAPBondMgr_SetParameter(GAPBOND_SECURE_CONNECTION, sizeof(uint8_t), &secureConnection); // Set Secure Connection Debug Keys GAPBondMgr_SetParameter(GAPBOND_SC_HOST_DEBUG, sizeof(uint8_t), &eccDebugKeys);
However, when using these settings I noticed that if the connecting party is using secure connection debug keys, the entire connection uses those keys and my BLE sniffer is able to sniff the connection. The Core spec says “if a device receives this debug public key and it is in a mode in which it cannot accept the debug key then it may send the Pairing Failed command with the reason set to ‘Invalid Parameters’.” So it seems that the core spec leaves this up to the implementation to decide. How do I reject the use of secure connection debug keys in code?
Thanks,
Keron