Apple 采用的方式非常的有趣:
新版的「Find My」前提与以前不同,使用者必须拥有至少两台登入相同 Apple ID 的装置在附近时才能啟用。Apple 会在啟用的装置上產生一把私钥,并透过点对点加密传输储存於其他台装置上,也就是这把私钥只存在你拥有的每一台机器上;每台装置接著会各自產生一系列公钥(对应前一步產生的私钥),透过蓝牙传输的作為识别。这些公钥会定时更换,且不会与先前產生过的相同,但仍可以透过最初的私钥验证。言下之意就是要靠公钥判断装置持有人做定位追踪是行不通的。
假设你的 MacBook/iPad 被窃走并处於闔上、无网路状态,有啟用 Find My 的装置仍会持续透过蓝牙发送现在的公钥,但不传送其他资讯(此时通常你也没有相关资讯);周围他人有网路连线的 Apple 装置侦测到该公钥后,会将自己的地理位置资讯,透过此公钥加密,连同公钥的 Hash 值传给 Apple。提供位置的装置没有提供自己的识别资讯,又因為公钥不断变换而无法反推公钥持有者身份;不断变换的公钥 Hash 本身无法直接关联使用者,使得 Apple 主机上储存的资料无法逆推回持有人资讯,位置资讯也因为没有私钥而无法被解密。
当你用你的 iPhone 寻找你的 MacBook/iPad 时,手机会将过去一系列公钥的 Hash 上传至 Apple 作為识别(详细方式 Apple 并没有明确说明,但理论上应该是回传过去一定时间内的公钥 Hash)。此时 Apple 会从资料库中寻找对应的加密位置资料并回传给你的 iPhone 并使用储存於装置上的私钥解密位置资讯并显示给你。整个流程中只有你的装置有办法解密这些位置资讯,且只有在你的装置上解密。
作者:FlintyLemming
链接:https://www.jianshu.com/p/eeab80bae840
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
关注数量超出限制,
请先删除部分内容再尝试