This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Encrypted packet decrypted incorrectly (bad MIC)

Helo, I am developing a BLE product, and @ encryption stage, I get thie message on the topic.

I attach my log for further information.

The log entry that gives the message in the topic is: 

2629 23.809161 Master_0x23c8cccf LE 1M LE LL 1 399691 21 Encrypted packet decrypted incorrectly (bad MIC)

Any help on how to sort this out would be appreciated.

Thank you, decrypted incorrectly.pcapng

Victor

Parents
  • I have not seen a MIC failure code that is actually a MIC failure and not a sniffer artifact for quite a while, however I also notice that both the devices (master and slave) are both from Dialog semiconductor.

    That stated is definitely a real MIC failure as the slave stops as soon as it realized that a MIC failure has occurred. Only one slave packet is transmitted but that is expected as it would take some time to stop the RADIO. 

    We can do a set of simple experiments to nail the issue but it feels a bit awkward to deal with the dialog parts here.

    Remove the secure connections (use any of the other pairing methods maybe legacy JUSTWORKS) and then check if things work.
    If they work then we need to dig a little into the setup of the secure connections.
    Stop the master from transmitting the first packet after encryption and let the slave transmit the packet and see if the MIC failure occurs on the slave transmit as well.

  • Hello, it really seems to be a MIC failure, the returned disconnection reason in the Peripheral application is CO_ERROR_TERMINATED_MIC_FAILURE 0x3D.

    Thank you for the help. The only reason I raised this questioin was to make sure is not a sniffer limitation, and it does not seem to be the case.

    Thank you for the allocated time.

    Regards, 

    Victor

  • I must specify that none of the devices has i/o capabilities.

    I am not sure at this point if this limitation is even compatible with LE Secure Connection pairing method...

  • Having no IO capability is fine, which means it will use the JustWorks method. LE secure enables the distribution of the LTK without sharing it over the air (Legacy pairing will share the LTK over the air). the rules for authentication for MITM remain the same for Legacy and LE Secure.

Reply Children
No Data
Related