智能手机重启完成后,屏幕显示输入密码的界面,此时设备处于一种特殊的加密保护状态。在安全研究与现代移动操作系统设计中,这个阶段被称为"首次解锁前"(Before First Unlock,简称 BFU)。与之对应的是"首次解锁后"(After First Unlock,AFU)状态。两者的核心差异不在于屏幕是否亮着,而在于设备内部用于解密用户数据的密钥此时是否存在于内存中。
现代手机普遍采用基于文件的加密机制(如 Android 的 FBE 和 iOS 的文件级加密),用户数据并非用一个主密码简单加锁,而是由硬件密钥、系统密钥和用户凭证共同参与派生出实际的加密密钥。在 BFU 状态下,用户尚未输入密码,用户凭证尚未参与密钥派生流程,因此解密用户数据所需的密钥根本不在运行内存中。此时即便攻击者通过物理手段提取存储芯片的原始数据,拿到的也只是密文,缺少对应的解密密钥。
一旦用户输入正确密码完成首次解锁,系统就会用用户凭证派生出完整的密钥树并加载到内存中。此后即使手机再次锁屏,这些密钥仍然驻留在内存里,以便来电、消息推送、后台同步等功能正常运作。这意味着 AFU 状态下的设备虽然屏幕锁着,但解密密钥已经存在于运行内存中,攻击者如果拥有足够的取证手段,理论上可以从内存中提取或利用这些密钥来获取用户数据。BFU 状态之所以被安全研究者视为更强保护,正是因为密钥尚未进入内存这一环节。
从实际防护角度看,BFU 状态对取证工具构成了实质性障碍。原文提到的场景——手机被偷或被执法人员暂扣——正是 BFU 机制发挥价值的关键时刻。主流移动取证工具在遇到处于 BFU 状态的设备时,通常无法绕过硬件级别的加密保护直接提取用户数据,因为缺少密钥就意味着缺少解密能力,这不是软件层面的破解能解决的问题。
值得注意的是,近年来主流厂商开始在系统中引入自动重启机制。原文提到 Pixel 和苹果设备在 72 小时未解锁后会自动重启,这一设计的意图正是让设备从 AFU 状态回到 BFU 状态,清除内存中驻留的密钥,从而缩小攻击窗口。对于普通用户而言,理解 BFU 与 AFU 的区别后,可以将其转化为一个实用的安全习惯:在面临手机可能被他人物理接触的场景(如过海关、维修送检)之前,主动重启设备并保持锁屏不解锁,就能让设备进入加密强度最高的状态。
