死者不咬人,但会发光:2026 年 Find My 在 iOS 中如何工作

发布: (2026年2月7日 GMT+8 17:12)
9 分钟阅读
原文: Dev.to

Source: Dev.to

(请提供需要翻译的正文内容。)

Find My 真正的工作原理

从电源控制器的硬件技巧到后量子加密算法。

我们将拆解为什么“死机”的 iPhone 对用户来说只是一种幻觉,数学如何保护你的坐标不被 Apple 本身读取,以及当屏幕变暗时你的智能手机如何变成加密信标。本文对开发者、安全专家以及任何想了解现代电子设备真实能力(及其局限性)的人都有帮助。

电源保留模式 – 死亡只是开始

在 2026 年,只要锂离子电池还能提供电流,iPhone 永远不会真正关机。当出现电池耗尽图标时,iOS 和主应用处理器被迫关闭,但 电源保留 仍然为关键子系统供电。

  • 设备实际上变成了一个非常昂贵、技术先进的 AirTag。
  • 蓝牙 LE(低功耗)芯片及其常驻处理器(AOP)保持活跃。

为什么要保持运行?
Find My 现在是 Apple 安全体系的一部分。Apple 决定,在设备“死亡”后 48–72 小时内定位被盗或丢失的设备,比可能防止深度放电的额外 0.5 % 电量更有价值。

硬件 – 谁在大家都睡觉时不睡?

电源域分离实现了这种行为。当庞大的 A 系列芯片(主处理器)进入最深度睡眠时,PMIC(电源管理 IC) 仍继续为以下部件供电:

子系统角色
Secure Enclave (SEP)存储你的私钥。
Bluetooth LE 控制器处理 BLE 广播。
U2/U3 芯片(超宽带)实现精确的近距离查找。

广播间隔是自适应的。如果加速度计(以微模式运行)检测到设备静止,广播频率会降至每几分钟一次;一旦移动,频率立即上升。这使得“尸体”可以存活最长三天。

隐私的数学 – 为什么 Apple 看不见

常见误解:“Apple 知道我在哪里。”
**现实:**Find My 的架构设计使得即使在极端压力下,Apple 也无法在其服务器上解密你的设备坐标。

密钥生成

你的 iPhone 从不广播序列号或 Apple ID。相反,它使用 轮转公钥。大约每 15 分钟,设备会生成一个新的公钥 (K_{\text{pub}}),该公钥来源于在初始设置期间从未离开 Secure Enclave 的主密钥。

  1. iPhone 生成一对密钥 ((K_{\text{pub}}, K_{\text{priv}}))。
  2. 仅将 (K_{\text{pub}}) 通过 BLE 发送。
  3. 任意附近的 iPhone(称为“帮助者”)接收广播,将其 GPS 坐标附加在负载上,并使用 (K_{\text{pub}}) 加密该负载。

报告公式

[ \text{Location_Report} = \operatorname{Encrypt}\bigl(\text{GPS_Coords} + \text{Timestamp},; K_{\text{pub}}\bigr) ]

加密后的数据包被发送到 Apple 的服务器。帮助者看不到私钥,也无法读取它加密的内容;Apple 同样没有私钥。只有你——在受信任的第二台设备(iPad、Mac 或另一部 iPhone)上——才能解密该报告。

数据转发与众包

把你的死机 iPhone 想象成森林里不能说话但可以留下无限笔记的人。陌生人(其他 iPhone)捡起这些笔记并将它们送到邮局(iCloud),而不阅读内容。

[Your iPhone (OFF)] --(BLE)--> [Stranger's iPhone] --(Internet)--> [iCloud] --(Key)--> [Your iPad]

到 2026 年,网络已经如此密集,即使在偏远的林区,遇到携带 Apple Watch 或 iPhone 的路人的概率也极高。Apple 与 Google 已就统一标准(DULT – Detecting Unwanted Location Trackers)达成一致,Android 设备同样可以匿名帮助定位你的物品,反之亦然。

2026 创新 – 后量子保护与 UWB 2.0

后量子加密

量子计算机已不再是理论威胁。Apple 在…(未完)

Source:

引入了 PQ3 协议到 iMessage,Find My 也采用了该协议。用于加密坐标的密钥现在能够抵御 “先记录后解密” 的攻击。

超宽带 2.0

iPhone 17 与 AirTag 2 中的新芯片使用信号相位偏移测量来确定距离,精度可达 1–2 cm。即使设备处于 “关闭” 状态,精准查找仍可通过感应能量或极少的残余电荷触发响应。

Swift 示例(简化版) – 展示了框架的使用方式:

import CoreLocation
import NearbyInteraction

// Example session initialization for device finding in 2026
class FindingManager: NSObject, NISessionDelegate {
    var niSession: NISession?

    func startPreciseFinding(for deviceToken: NIDeviceCapability) {
        guard NISession.isSupported else { return }
        niSession = NISession()
        niSession?.delegate = self
        // Configure the session with the token of the target device
        let configuration = NINearbyPeerConfiguration(token: deviceToken)
        niSession?.run(configuration)
    }

    // MARK: - NISessionDelegate
    func session(_ session: NISession, didUpdate nearbyObjects: [NINearbyObject]) {
        // Process distance and direction data here
    }

    func session(_ session: NISession, didInvalidateWith error: Error) {
        // Handle session errors
    }
}

要点

  • Power Reserve 能在电池看似耗尽后仍让最小子系统保持数天运行。
  • 轮换的公钥仅限 Secure Enclave 的私钥 确保只有你能够读取位置报告。
  • 众包 BLE 中继 让已关机的设备在不向 Apple 或帮助者暴露身份的前提下被找到。
  • 后量子加密 为系统提供对抗量子攻击者的未来保障。
  • UWB 2.0 即使在设备名义上关闭时,也能实现厘米级的精度。
self

// In 2026 we work with encrypted tokens even in UWB
let config = NINearbyPeerConfiguration(peerToken: deviceToken.sentinelToken)
niSession?.run(config)
func session(_ session: NISession, didUpdate nearbyObjects: [NINearbyObject]) {
    if let object = nearbyObjects.first {
        // Distance and direction accounting for U2/U3 phase modulation
        print("Distance: \(object.distance)m, Azimuth: \(object.direction)")
    }
}

物理 vs. 技术:网络的无能为力之处

再酷的技术也抵不过物理法则。当设备 从雷达上消失 时,我常看到用户失望。主要有两大敌人:

  • 法拉第笼。 如果你的 iPhone 被塞进微波炉(已关闭!)或用多层铝箔包裹,BLE 信号根本无法逸出。金属保险箱和深层混凝土地下室也会产生同样的效果。
  • 设备密度。 在西伯利亚的针叶林里,每 100 公里才出现一只熊,根本没有 iPhone,众包根本不起作用。没有人能够拾取 “森林中游客” 的求救信息。

结论

2026 年的 Find My 是系统编程的胜利。工程师们让“已关机”硬件在消耗纳安培电流的情况下完成最复杂的密码运算。这让我想起了老派微控制器开发时代——每个处理器周期都至关重要,只是现在要兼顾现代隐私需求。

如果你正在设计自己的 IoT 设备,请记住:未来不在于强大的发射器,而在于聪明地利用他人的基础设施。

0 浏览
Back to Blog

相关文章

阅读更多 »

UX/UI 排版

Typography 是指什么?- 使用哪种字体 - 在什么位置多大 - 多粗 - 行间距 - …