蓝牙的MAC随机化?

信息安全 MAC地址 蓝牙 追踪
2021-08-27 10:02:30

公司、政府等可以通过在空间和时间上查看相同的 MAC 地址来被动地跟踪蓝牙和 WiFi 网络扫描(公共场所的蓝牙/WiFi 身份跟踪 - 如何发现?)。Android 8.0开始

Android 设备在探测当前未与网络关联的新网络时使用随机 MAC 地址。
在 Android 9 中,可以启用开发人员选项(默认情况下禁用)以使设备在连接到 Wi-Fi 网络时使用随机 MAC 地址。每个 SSID 使用不同的随机 MAC 地址。
MAC 随机化可防止侦听器使用 MAC 地址来构建设备活动历史记录,从而增加用户隐私。

可以为蓝牙 MAC 地址实现类似的东西吗?它是在启动时实施还是这些地址定期轮换?

2个回答

对于蓝牙低功耗(BLE),这个网站主要解释了这个问题: https ://blog.bluetooth.com/bluetooth-technology-protecting-your-privacy

为了保护用户隐私,制造商可以使用称为“LE Privacy”的蓝牙智能功能。此功能会导致广告数据包中的 MAC 地址被替换为随机值,该随机值在制造商确定的时间间隔内发生变化。沿着您的旅行路线每隔一段时间放置的任何恶意设备都无法确定从您的设备接收到的一系列不同的、随机生成的 MAC 地址实际上与同一物理设备相关。它实际上看起来像一系列不同的设备,因此,无法使用宣传的 MAC 地址跟踪您。

在堆栈溢出时,这可能很有趣: https ://stackoverflow.com/questions/23471364/private-vs-public-addresses-in-bluetooth-low-energy-on-android

据我所知,所有当前的 iPhone 都实现了这一点。还有许多 Android(8.0 之后的新版本)设备。

是的,这只是 24 位随机性。可以认为这已经足够了。由于您的设备会定期更改 MAC,因此嗅探器会更改 1 / 16.777.216 以猜测您的下一个 MAC 是什么。
这(24位)不足以加密,但这不是这里要解决的问题。

有关更多信息,您还可以查看蓝牙核心规范第 5.4.5 节: https ://www.bluetooth.com/specifications/bluetooth-core-specification

另请注意,绑定设备能够将随机 MAC 解析为永久(公共)MAC。

这实际上已经在低功耗蓝牙 (BLE) 中实现。每次在 Android 上重新启动发射机时,MAC 将随机分配最后 3 个字节。