2024年3月,德克萨斯州沃斯堡法庭。FBI特工Clark Wiethorn当庭演示:从一部已删除Signal三年的iPhone里,完整提取了带阅后即焚标记的消息内容。陪审团传阅的Exhibit 158,让被告辩护律师当场沉默。

这不是Signal的加密被破解。端对端加密(E2EE,一种只有收发双方能解密的技术)从头到尾工作正常。问题出在消息抵达手机之后——iOS的通知系统把它截了一张图,存进了本地数据库。

Signal负责"运",iOS负责"看",漏洞出在交接处。

Signal的消失消息设计得很干净:发送方设定计时器,接收方阅读后,双方设备同步销毁。但iOS的通知预览功能在2016年就有一个文档化的行为:为了让你在锁屏看到消息摘要,系统会把通知内容写入`NotificationContent`数据库,保留时间取决于你的设置——可能是几天,也可能是永久。

DFIR(数字取证与事件响应)社区对此早有记录。Wiethorn的证词首次将这一技术细节带入公开庭审:调查人员不需要破解Signal,不需要苹果配合,只需要拿到物理设备,用Cellebrite等工具提取系统备份。那些被Signal标记为"已销毁"的消息,在iOS的通知缓存里完好无损。

为什么Signal不修复?

为什么Signal不修复?

Signal其实给了选项。设置里可以关闭"通知显示消息内容",只显示"你有一条新消息"。但默认是开的,且大多数用户不会动这个开关。

更微妙的是权限博弈。Signal想要推送通知,必须走苹果的APNs(苹果推送通知服务,Apple Push Notification service)。一旦消息离开Signal的服务器,苹果系统就接管了渲染流程。Signal能控制加密,控制不了iOS怎么画屏幕。

这不是设计疏忽,是架构层面的权责模糊。Signal承诺的是"服务器看不到内容",不是"你的手机操作系统看不到内容"。

用户能得到什么教训

用户能得到什么教训

本案的被告Lynette Sharp被控参与2023年得州一起枪击案预谋。她的Signal消息设置了24小时消失,设备上的App也早已卸载。但iOS从2021年到2024年的通知记录,为检方提供了完整的时间线。

对普通用户的实际影响分两层。如果你已经关闭通知预览,这条漏洞与你无关。如果你开着,且使用的是带消失计时器的消息应用,需要意识到:消失的只是应用层的数据,操作系统层的副本可能长期存在。

取证公司Cellebrite的公开文档显示,这一提取技术对Signal、WhatsApp、Telegram等主流加密通讯工具一视同仁。区别只在于各家的默认通知设置不同。

苹果会改吗

苹果会改吗

苹果至今未对此事置评。从工程角度看,iOS的通知缓存设计有其合理性——支持历史回溯、Wearable设备同步、Siri建议。但"保留多久"的决策权完全在用户手里,只是这个设置藏得足够深:设置 > 通知 > [应用名称] > 显示预览,以及设置 > 屏幕使用时间 > 内容和隐私访问限制 > 通知。

Signal创始人Moxie Marlinspike曾在2016年回应类似讨论:「我们提供了关闭通知内容的选项,但无法替用户做选择。」

这场庭审的真正价值,是把一个技术社区的老生常谈,变成了法庭记录在案的公开事实。下次你设置"阅后即焚"时,会检查通知预览开关吗?