2019-05-23 05:02:32

by Ordit Gross

[permalink] [raw]
Subject: failed Message Integrity Check (MIC)

hi all,
we have an application acting as gatt server, using bluez 5.47.
we just purchased a sniffer.
** when a client connects (mobile), I can see pairing (AES) process
taking place, all encrypted packets that follow show up as decrypted
incorrectly (bad MIC), but no disconnection occur.

** connecting to a specific phone (android LG G6), after pairing takes
place we see several encrypted packets that show up as decrypted
incorrectly (bad MIC), then connection is dropped with "Connection
Terminated due to MIC Failure (0x3d)"
Device Disconnected: reason 0

1. Is MIC being calculated in bluez? is kernel involved in this process?
2. How could it be other devices don't drop the connection?
I'm having a hard time understanding how could that problem arise..
and how to solve this..
any help would be appreciated