iOS 最为人称道的功能之一莫过于Find my iPhone了,配合强大的激活锁,基本上丢失的苹果设备在一般人手中只能作为拆机零件售卖了,但是不管是谁,设备丢失最心痛的莫过于资料的丢失。在今年的 WWDC 上,全新的 iOS 13 与 macOS Catalina 发布,在 WWDC 上 1 小时 51 分处,苹果提到了 Find My 登录 macOS,并配合全新的定位方法,为你尽可能争取时间找回设备。
在苹果设备上设置 Find My 之后,苹果首先会确认你是否拥有两台及以上的设备,然后确认后,设备会生成一对私钥与公钥,并通过端对端加密的方式将该私钥存储于你的所有苹果设备上,而公钥则用来进行加密位置信息,并作为丢失后的设备蓝牙 beacon。公钥会定期变换,且变换后的结果与上一次的公钥之间找不到明显的相关性,具体原理需要更复杂的密码学基础,且苹果拒绝透露任何公钥变换的技术细节,这样也避免了有心之士追踪你的设备。不过可以保证的是,变换后的公钥与设备本身存储的私钥依然是唯一对应的,也就是说,只有你自己的设备可以解密公钥加密的信息。
当用户发现设备丢失后并开启丢失模式后,会像苹果的服务器发送之前所存储的公钥作为标志,苹果则利用该标志位在自己的服务器端找寻是否有相关设备的位置信息。这其中又有一个公钥变换后,苹果是如何匹配设备的问题,目前尚不能找到有关资料。当苹果在服务器中找到了你的设备位置信息,它会将该加密信息传输至你正在查看的设备,这样你就能在Find My中发现自己的设备的位置了。整个期间实现了完全的端对端加密,不存在任何中间设备解密设备信息的情况,至少目前看的确如此。
我们可以看到这次的新特性是巧妙地利用了蓝牙作为 beacon 的能力,iOS 12 争议最大的通知中心无法真正关闭 Wi-Fi 和蓝牙的功能,当时很多人认为这种操作反常识,但是现在看来,苹果也许在那个时间点已经提出了本次功能的原型并着手培养用户习惯。