Can we sniff two ios devices with nRF52840?

Hi, I am going to develop 2 ios applications one for Central and one for Peripheral.

After pairing this 2 devices, they will send/receive data packets.

What I want to do is sniff these data packets. (Such as RSSI value, channel, data content, ...)

According to Apple's document, it says it uses ECDHE for secure bonding. However, in https://devzone.nordicsemi.com/f/nordic-q-a/95369/nrf52840-cannot-sniff-encrypted-connection, sniffer cannot sniff secure connection using Diffie-Hellman key exchange. 

 

I wonder if I implement my app using "Just Works" pairing, BT sniffer could sniff data packet.

Is there anyone done similar works? Android applications would be fine too.

  • Hi,

    With legacy pairing, a sniffer that listens in on the pairing process will get the LTK and can decrypt all communication. However, with LE Secure Connections this is different, as a Diffie–Hellman key exchange is used. This way, even an eavesdropper that listen in on all communication will be able to obtain the shared secret and subsequently the key.

    Generally, while debugging, this can be overcome if one (or both) of the peers use a pre-defined debug key (if using the nRF Connect SDK, this can be enabled using CONFIG_BT_USE_DEBUG_KEYS). This is supported out of the box with the nRF Sniffer for Bluetooth LE.

    The problem is that as far as I know, there is no way to force the iOS stack to use legacy pairing or to make it use a debug key. And it will use LE Secure connections automatically as long as both phones support it (which will be the case unless one is ancient).

Related