苹果作为全球科技巨头,曾多次在科技领域突破技术壁垒,其多项技术在全球市场上仍旧是天花板的存在,引领市场的发展,因此苹果在科技上的一举一动总是引人注目。
近期,我爱音频网了解到,一位资深工程师对苹果的AirTag技术做了技术细节分析,具体包含黑客攻击、安全研究、修改、拆解等。这位工程师叫AdamCatley,来自奥地利,主要研究网络安全、汽车、电子设备、FPGA和固件等。
AirTag是蓝牙无线追踪器,外观看起来显示一枚围棋,配对体验与AirPods很像。AirTag结合了蓝牙与UWB精准定位两项技术,可以利用内置的蓝牙低功耗芯片发出信号,被附近“查找”网络中的苹果设备侦测到,进而将其坐标信息发送到iCloud被用户定位到大概位置。其内置的苹果U1超宽频芯片还使AirTag具备了精确查找的能力,在一定范围内手机上会指示AirTag的方向并精确显示到米,解决寻找物品的最后距离问题,不过要使用该功能需要同样配备了U1芯片的iPhone机型。
AirTag内置纽扣电池,用户可自行更换,每天播放四次声音并进行一次精确查找的话,可使用超过一年的时间,电池低电量手机会收到提示。但AirTag不支持AR查找,在有效范围内可以通过Siri唤醒查找。
那么这位资深奥地利工程师AdamCatley对苹果AirTag的逆向分析结果如何?我们一起来看看~
一、AirTag主要特征和主要发现
AirTag除了用于UWB的苹果U1芯片,还使用了现成的组件;流行的nRF用于BLE和NFC,仅2.3A的待机电流消耗可提供超过10年的潜在电池寿命;每天凌晨04:00更新一次BLE地址和公开密钥,每15分钟更新一次广播数据的最后一个字节;在离开其所有者设备3天后进入丢失模式,在丢失模式下每6小时发出一次噪音,且移动能被检测到,等待移动时每10秒对加速度计进行一次采样,一旦检测到移动,每0.5秒对加速度计进行一次采样,持续20秒。
除此之外,离开其所有者的设备时每2秒发送一次BLE广播,靠近其所有者设备时,BLE连接间隔为1秒,nRF需要至少~1.9V的电池电压才能启动,32Mbit闪存未加密,nRF编程接口(SWD)可通过测试点轻松访问,并且可以解锁。
二、背景
这项研究是为了了解苹果在其最新的29美元低价产品中使用的电子设计和安全性方法。
调查的方面是:
使得AirTag麻雀虽小却能五脏俱全的硬件设计(AirTag内含了BLE、UWB、NFC、加速度计、扬声器、天线);定制硅与“现成”组件的使用对比;硬件和软件的低能耗设计以最大限度地延长电池寿命;使用了事先声明的隐私功能以避免不必要的跟踪;最近的BLE隐私和安全功能使用;苹果产品的硬件和固件安全;可以进行哪些修改等。
支持的设备为:iOS14.5系统。
三、软件
目前AirTag可以进入的主要状态有:
未注册:AirTag是全新的、已重置或已从FindMy网络中删除时,每33毫秒广播一次,等待连接。
初始化:AirTag正在注册到AppleID,生成公钥/私钥,与连接到AirTag的iOS设备间共享。
已连接:所有者的设备在范围内,没有广播生成。
断开连接:所有者的设备超出范围,每毫秒广播一次身份。
不同步:AirTag与其所有者的设备分离后,重新启动时会发生这种情况。类似于断开连接,但绝对时间丢失,所以事件跟开机后的时间相关。身份重置为初始值。
丢失:在进入断开连接或不同步状态3天后开启。每隔6小时进入到“等待移动”状态。
等待移动:每10秒对加速度计进行一次采样,直到检测到运动。
声音警报:从连接的设备或通过检测到移动来接收播放噪音的指令,最长持续20秒。
精确查找:处于“已连接”状态时由所有者的设备触发,被声音警报覆盖
四、硬件
拆解
由于电路板较薄且被焊接在塑料托盘上,所以拆下电路板可能会造成损坏。
修订
经过多次拆解之后,发现顶部铜层当中的电路板标记会发生变化。如果能够确定早期生产运行并未启用所有安全功能来锁定单元的话,这一点将会非常有用。
右下角的数字看起来像一个制造数据代码(例如,“”可能是年的第29周,第17批)。从可用的样本中获得的信息是:
美国的设备在、、范围内;
欧洲是,晚几个月;
亚洲是,晚几个月,距离发行只有几周时间;
左边的3个大焊盘左侧还有一个字母,可能与下面的U1芯片有关。欧洲的设备上是A和3位数字,而世界其他地区的设备上是C。
丝印层上有个常量值--A,看起来像是苹果电路板内部零件编号和修订(A)。
电路板概述
电路板含有NordicnRFSoC,带BLE和NFC,外加32MHz和32.kHz晶体;苹果U1UWB收发器;兆易创新GD25LE32D32MbitNOR闪存;博世BMA加速度计;美信MAXAEWL音频放大器;TITPSDC-DC降压转换器;TITLVIDPWR运算放大器;uF电解电容器(5x)等。
测试点
天线
AirTag内部有三个天线,分别为:
1、低功耗蓝牙(左)-2.4GHz
2、NFC(中)-13.56MHz
3、超宽带(右)-6.5-8GHz
三条天线都使用激光直接成型蚀刻到一块塑料上,然后焊接到边缘周围的电路板上。NFC天线在塑料板的另一侧也有一个短迹线(每端与一个过孔连接),用于将线圈的内端接回到电路板上。
扬声器
音圈粘在塑料外壳上,起到隔板的作用。由于磁铁是固定住的,当线圈通电时,它会前后移动产生声音来充当扬声器。
无论是否连接音圈,AirTag的运行方式都相同。
离开所有者的设备3天后,如果检测到移动,扬声器会发出响亮的哔哔声,最多持续20秒。接下来的6小时内都会保持静音,直到再次等待移动。
即使没有连接音圈,播放声音也比待机时耗电多倍,大约8mA。这可能是因为nRF必须使用音频样本快速更新DAC。在播放丢失状态的AirTag噪音时,电流(黄色)与相应的声波(蓝色)同步绘制:
电源
有两个正极电池端子,两者都需要施加3V来启动AirTag。
但是,只有左侧电池端子为电子设备供电。右侧端子上的电压能被感测到,但在所有模式中仅消耗约50nA。
电路板顶部边缘周围5个uF电容器,在取出电池的情况下能使设备保持通电几秒钟,这可能有助于在短时间内连续5次取出电池的重置程序。
AirTag在电源循环后不会保留当前时间,直到它重新连接到其所有者设备。
低功耗蓝牙(BLE)
nRF支持BLE5.2并具有单个2.4GHz天线。NordicSoftDevice用于实现BLE堆栈,可能是S型号。
五、广播数据
本节将会介绍AirTag注册到FindMy网络时的蓝牙活动。
地址类型:随机静态(每天更改,公钥的前6个字节)
广播PDU类型:可连接的非定向广播(ADV_IND)
广播周期:ms
广播传输时间:4ms(包括唤醒)
根据苹果的记录,BLE广播数据包含NISTECP-公钥。该密钥至少有28+1字节长,但广播数据中只有23+1字节会改变。其他6个字节巧妙地用作设备的蓝牙地址。苹果就是这样在单个BLE数据包中安装公钥的。
似乎还有一种方法可以预测未来蓝牙地址的一部分,但这需要更多的后续调查。
苹果可能使用了身份验证来阻止非苹果设备连接AirTag,因为连接后不久就会被AirTag终止。
未注册行为
当AirTag未注册到FindMy网络时,它具有类似的行为,但以33毫秒的间隔使用其默认设备地址进行广播,并使用不同的苹果有效负载。
超宽带广播(UWB)
“精确查找”状态使用苹果的U1和单天线进行超宽带通信。目前对苹果设计的这种定制芯片知之甚少。
它可能包含一个处理器,因为闪存芯片包含nRF不支持的64位ARM指令。
U1位于标有USI的模块内(此处可以看到AirTag模块标记)。AirTag中的数据包看起来与iPhone11等其他苹果设备中的数据包不同。
左边是iPhone11的USI模块内部,右边是AirTag的较小模块内部,它没有前端和天线巴伦(现在位于电路板上)。可以看到U1是两个模块中的黑色方形芯片,带有几行标记。两者的U1芯片照片显示相同的标记TMKA75。
FCC测试报告:
UWB通道5(6.5GHz)和9(8GHz);MHz带宽;BPSK调制;1根天线(上图)。
测试“精确查找”功能给人的印象是,UWB仅用于测量到AirTag的距离,而不是方向。AirTag只需从其单个天线每隔约60毫秒发送一次脉冲。接收器或发射器都需要多个天线,以便根据相位距离测量方向。BLE5可通过AoA和AoD支持。
近场通信(NFC)
AirTag使用nRF的NFC-A外设在只读模式下实现NXPMIFAREPlus(类型4)标签。NFC天线位于白色盖板的后面,如上图所示。
NFC用于允许任何找到AirTag的人潜在地识别所有者,即使他们用的是安卓设备。
只有当AirTag由电池供电时才能读取标签。它仅包含一个URL来唯一标识AirTag,具体取决于其当前状态。
未注册
当AirTag是全新的、已重置或已从FindMy网络中删除时,存储在标签上的URL是固定的,值不会更改。它遵循以下格式: