苹果将​​如何(私下)离线找到丢失的设备?

周一,在Apple的WWDC上,Apple 推出了一项很酷的新功能,名为“ Find My” 。与标准的“ Find My iPhone 不同该功能依赖丢失设备的蜂窝和GPS基础架构,“ Find Me”功能甚至可以找到没有 SIM卡的设备。 -卡和GPS:例如,笔记本电脑,甚至附在任何物品上的“哑”位置标签 (Apple仅在广义上暗示它)。

这个想法是将整个现有的iPhone网络变成一个大规模的众包系统,用于跟踪周围的物体。 每个活动的iPhone都会不断监视来自其他设备的BLE信标消息。 找到这些信号之一后,便用GPS坐标标记该数据包并将其发送到Apple服务器。 这对像我这样迷惑不解的人来说是个好主意,这些人经常丢东西:如果我把背包放在办公室里的中国旅游巴士上 ,迟早有人会发现他的信号-我会立即找到在哪里找到他的。

(值得注意的是不是苹果提出了这个想法。实际上,像Tile这样的公司已经存在了很长一段时间。是的,他们应该为自己的业务担心)。

如果您对上面的描述没有印象,请允许我提出一个问题: 该系统将如何防止大规模侵犯隐私?

我们列出了潜在的问题:

  • 如果设备不断发出可唯一识别它的BLE信号,则每个人都有(另一种)跟踪您的方法。 营销人员已经为此使用了WiFi和蓝牙MAC地址,“ 查找我”功能创建了另一个跟踪渠道。
  • 她还解密了参与该过程的人员。 现在,这些人会将他们的当前位置发送给Apple(也许他们已经这样做了)。 但是现在,他们将不得不与“丢失”其设备的陌生人共享此信息。 它可能会严重结束。
  • 欺诈者还可以发起主动攻击,在这种攻击中他们会伪造您的设备位置。 尽管这似乎不太可能,但人们总是感到惊讶。

好消息是,苹果公司声称该系统确实通过正确使用加密技术提供了强大的隐私。 但是,像往常一样,他们拒绝提供实施细节 。 Wired的安迪·格林伯格(Andy Greenberg)描述了苹果公司的部分技术实施 ,这使很多事情可以理解。 不幸的是,这个故事仍然存在巨大的空白。 我将要填写的是我,提供有关Apple实际行为的最有可能的描述。

一个很大的警告:很多事情可能是完全错误的。 当苹果提供更多信息时,我一定会更新该文章。

一些重大问题


要概述场景,您需要在图片中引入几种设备。 为了获得启发,可以参考1950年代的电视连续剧《拉西》。

我们将第一个称为Timmy的设备称为“丢失”。 Timmy拥有BLE无线电发射器,但没有GPS或互联网连接。 幸运的是,他已经与另一台名为Ruth的设备配对,后者想找到他。 我们的主要角色是Lassie :这是一位随机(且不知道)陌生人的iPhone,该陌生人(假设)至少具有定期的Internet连接和可靠的GPS。 拉西是一个非常好的女孩。 网络设备通过Apple的iCloud服务器进行通信,如下所示:



(由于TimmyRuth必须事先配对,所以他们可能都属于同一个人。我提到过,您需要购买两台 Apple设备才能使该系统正常工作?这对Apple来说很好。)

我们正在考虑一个安全系统,所以第一个问题是: 谁是坏人 ? 在这种情况下,答案令人不快: 任何人都可能成为潜在的攻击者 。 这就是为什么这个问题如此有趣的原因。

蒂米匿名


该系统最重要的方面是,您一定不能让局外人跟踪Timmy ,尤其是当他没有迷路时。 这消除了一些相当明显的决定,例如,当蒂米的设备大喊时: “嗨,我叫蒂米,请给我的母亲露丝打电话,让我知道我迷路了 它实际上还消除了任何不可变的静态标识符,甚至是不透明和随机的。

最后一个要求由滥用静态标识符(例如, 您的 WiFi MAC地址 )来跟踪设备移动的服务的悲惨经历组成。 苹果公司一直在通过随机分配标识符(例如MAC地址)来取得成功与否。 如果Apple为“查找我”添加静态跟踪标识符,则所有问题只会变得更糟。

此要求意味着Timmy发送的任何消息都必须是不透明的。 此外,这些消息的内容应相对频繁地更改为不能与旧值关联的新值。 配对设备识别此类消息的一种明显方法是让TimmyRuth同意为Timmy提供一长串随机“ 别名 ”,并让Timmy每次选择一个不同的别名

确实有帮助。 每次Lassie看到某个(未知的)设备发送标识符时,她都不知道它是否属于Timmy :但是她可以将其与自己的GPS位置一起发送给Apple服务器。 万一蒂米迷路了, 露丝可能会要求苹果找到所有可能的蒂米别名。 在这种情况下,Apple之外的任何人都不会识别此列表,甚至Apple本身也只有在有人迷路后才能识别此列表,因此这种方法会阻止大多数跟踪选项。

一种更有效的实现此想法的方法是使用加密功能(例如,MAC或哈希功能)从一个简短的“ sid”生成别名列表,该副本的副本由TimmyRuth存储。 这很好,因为它减少了存储的数据量。 但是为了找到TimmyRuth仍需要将所有昵称(或种子)发送给Apple,Apple必须在其数据库中查找每个昵称。

隐藏Lassie的位置


所描述的使用化名的方法应该很好地向Lassie甚至对Apple隐藏了Timmy的 身份 (直到露丝开始寻找他的时候)。 但是,有一个很大的缺点: 它不会隐藏Lassie的GPS坐标

这至少有几个原因是不好的。 每次Lassie发现带有BLE信号的设备时,都必须将其当前位置发送到Apple服务器(以及她看到的别名)。 这意味着Lassie经常告诉Apple她在哪里。 而且,即使Apple承诺不存储Lassie的身份,所有这些消息的结果都是一个巨大的集中式数据库,其中显示了可找到任何 Apple设备的所有GPS位置。

请注意,仅此类数据数组会产生很多信息。 是的,设备标识符可以是别名-但这不会使信息无用。 例如,如果某台 Apple设备在晚上广播相同的坐标,那么这将给出该人的大概地址。

防止Apple泄露此数据的一种明显方法是对其进行加密,以便只有真正需要知道设备位置的用户才能看到该信息。 如果Lassie收到Timmy的消息,那么唯一真正需要知道Lassie位置的人就是Ruth 。 为了使此信息保密, Lassie必须使用Ruth的公钥加密她的坐标。

当然,问题来了: 拉西将如何获得露丝的钥匙? 对于蒂米来说,显而易见的解决方案是在露丝的每个广播节目中大喊大叫。 但这将创建一个静态标识符,该标识符又允许跟踪Timmy

为了解决此问题, 露丝需要拥有许多不受限制的公共密钥 ,以便蒂米可以在每次广播中发布不同的密钥。 一种选择是让RuthTimmy生成许多​​不同的公用密钥对(或从公用sid生成许多这样的对)。 但是,这很烦人, 露丝将不得不保留许多秘密密钥。 并且可以通过对每个公钥进行哈希处理来获得上一节中提到的标识符。

更好的方法(Apple可以使用也可以不使用)涉及密钥随机化 。 这是某些加密系统(例如Elgamal )的一项功能:它允许任一方随机化公钥 ,这样它就不会与原始密钥相关联。 此功能的最好之处在于, 无论使用哪种随机版本的公钥进行加密Root都可以使用一个私钥



所有这些导致了该协议的最终构想。 在每次广播中, 蒂米都会发送一个新别名和露丝公共密钥的随机副本。 当Lassie收到广播时,她会使用公共密钥加密GPS坐标并将加密的消息发送给Apple。 露丝(Ruth)可以将蒂米(Timmy)别名发送到Apple服务器,如果Apple找到匹配项,她就可以接收和解密GPS坐标。

它解决了所有问题吗?


令人不快的是,对于许多奇怪的边境局势,没有理想的解决方案。 例如,如果蒂米怀有邪恶的意图并想让拉茜透露她在苹果公司的位置怎么办? 如果老史密瑟斯试图绑架拉西怎么办?

在某个时候,这个问题的答案归结为我们做了一切可能的事实:任何剩余的问题都应移到威胁模型之外。 有时,甚至连Lassie也知道何时停止。

Source: https://habr.com/ru/post/zh-CN455054/


All Articles