Find My原理
Apple 设备中自带了一个名为Find My的特征,目的是为了更好的定位其他苹果设备,包括iPhone、 iPad、 iPod touch、 Apple Watch、 Mac、 AirPods等。在iOS 14.5 中,苹果还将支持名为AirTags的蓝牙追踪设备,用来与Find My app的追踪功能相匹配。
Find My的底层技术是2019年引入的offline finding,苹果设备通过广播Bluetooth Low Energy (BLE) 信号使得其他近距离的苹果设备可以中继其位置信息到苹果的服务器。
与offline finding不同的是,offline loading使用的位置追踪机制是点对点加密和匿名的,目的是隐藏其运动性,因此包括苹果在内的第三方都无法解密这些位置信息,也就无法追踪某个特定用户。具体来说,是通过轮换密钥方案实现的,即为每个设备生成一对公私钥对,然后通过编码公钥的方式发出蓝牙信息。重要信息之后会通过iCloud与相同用户(比如同一个Apple ID)的其他苹果设备同步。接收到这一消息的附近的iPhone或iPad 会检查自己的位置,然后使用前面提到的公钥加密该信息,然后和公钥哈希一起发送到云端。
最后,苹果会发送丢失设备的加密位置信息到相同Apple ID登陆的其他苹果设备中,设备所有者可以使用Find My app和对应的私钥来解密报告内容,提取位置信息。
漏洞和问题
因为该方法有公钥加密 (PKE) 过程,苹果公司由于没有私钥所以不能解密位置信息。但是苹果公司并没有说清楚密钥轮换的频率,循环密钥对结构使得恶意攻击者很难利用蓝牙信标来追踪用户位置移动。