问题
In Android 5.0, BLE doesn't use static MAC addresses anymore, but the MACs change after intervals, using a method called IRK and public key cryptography.
Is it possible to uniquely identify an Android phone in a way that can not be spoofed by the user of that phone, or has that become completely impossible now unless the other side co-operates?
回答1:
No, it is not possible. That's the whole idea of using IRKs: only bonded devices can identify it after the address changes. For those who do not possess the IRK (because they have not bonded), it would always appear as a completely new device (hence the privacy).
回答2:
The private address is generated using the devices IRK exchanged during the previous pairing/bonding procedure. So if they have not bonded, you can't get irk.
来源:https://stackoverflow.com/questions/29376075/can-you-uniquely-identify-a-ble-mac-address-in-android-5-0