亲爱的苹果:立即为iMessage添加"消失消息"功能
这是一篇密码学博客,我总是觉得有必要为任何非"纯粹密码学"的内容道歉。实际上我已经有点厌倦为此道歉了(但如果你想要硬核的密码学内容,这里和这里都有很多)。
有时我不得不提醒同事们,在现实世界中,我们的工作不是解决激动人心的数学问题:而是帮助人们安全通信。而人们此刻急需帮助。我的许多朋友是联邦雇员或承包商员工,他们害怕因为在网上发布的言论而失去工作。不幸的是,对许多人来说,“网上"包括通过私人短信发送的想法——因此连私人对话也变得谨慎起来。
让我直奔这篇相对简短文章的主题。
Apple iMessage已加密,但它"安全"吗?
我大多数"普通"朋友都是iPhone用户,虽然有些人开始下载Signal应用(你也应该下载!)——但许多人偏爱一种通信协议:Apple iMessage。这主要是因为iMessage只是苹果手机上使用的内置消息应用。
苹果宣传iMessage应用对消息进行端到端加密,并且自2011年以来一直如此。这意味着所有消息和附件都使用苹果不知道的密钥进行加密。公司在这方面一直非常一致,在其平台安全指南中讨论这一点,近年来甚至扩展了协议以提供后量子安全性。
但这只是故事的一部分。在以其 uncompromising 后量子安全交付消息后,苹果允许两件不太好的事情:
- iMessage会永远留在你的手机上,除非你手动删除它们(这个过程可能需要在双方进行,而且非常烦人)
- 如果你开启了该功能,iMessage会自动备份到苹果的iCloud备份服务——由于苹果在iPhone设置期间将其设为默认选项,大多数普通人确实开启了此功能
这两个功能的结合使iMessage变成了你整个生活的《星际迷航》式船长日志。现在搜索一下,我可以找到2015年的消息。
虽然上面的消息是无害的,但我想说服你,这通常是一件非常糟糕的事情。人们想要进行私人对话。他们应该拥有私人对话。他们的技术应该让他们在这样做时感到安全。
我们知道如何解决这个问题,其他所有消息应用早就做到了
如果你安装WhatsApp、Facebook Messenger、Signal、Snap甚至Telegram(请不要!),你会遇到解决这个问题的简单功能。它通常被称为"消失消息”,但有时有其他名称。
当你开始聊天时,你可以决定消息应该保留多长时间。开始聊天时,你可以决定消息应保留多长时间。如果你的答案是永远,你不需要做任何事。然而,如果这是一个敏感对话,你希望它像电话通话一样短暂,你可以选择一个时间,通常从5分钟到90天不等。当该时间到期时,你的消息就会被删除——在你的手机和与你聊天的人的手机上都是如此。
消失消息的一个单独功能是,某些平台会将这些对话从设备备份中省略,或者至少确保过期的消息无法恢复。这是有道理的,因为这些对话应该是短暂的:人们显然不期望这些短信将来还会存在,因此如果它们提前几天丢失,他们不会那么生气。
为什么苹果不添加消失消息功能?
我不知道。我实在无法告诉你。这令人困惑、奇怪和错误,完全不符合他们所在行业的步伐。对于一个将其整个品牌形象建立在类似这样的东西上的公司来说,这尤其奇怪:
回顾一下,几乎所有其他人们大量使用(至少在美国这里)的消息产品都有某种消失消息功能。苹果的遗漏开始变得非常独特。
我在苹果安全部门有一些朋友,我试图与他们谈论这个问题。当我做这样的事情时,他们通常试图避开我——有时他们会提到律师——但当我足够烦人时(并且我在无法逃脱的情况下抓住他们),我偶尔能让他们回答我的问题。
当我询问消失消息时,我得到的是尴尬的叹息和沉默。没有人能解释为什么苹果在这个基本功能上如此落后,即使在它成为所有其他消息应用的标准功能很久之后。因此,我最多只能推测。
在一个错配优先级的纪念碑中,苹果甚至花时间为其iMessage协议添加了后量子加密——这意味着苹果用户现在免受不存在的量子计算机的威胁。然而,用户最私密的秘密仍然可以从他们的手机或备份中读取,只要有人能猜出他们的密码并使用搜索框。
一些技术说明
由于这是一个技术博客,我觉得有必要说一些比上述请求更详细的内容。
首先,Gene Hoffman指向手机设置中的一个名为"保留消息"的小功能(隐藏在"设置"中的"信息"下,然后向下滚动很远)。这决定了消息在你自己的手机上保留多长时间。你不能按对话设置此功能,但可以将其设置为比"永远"短的时间,例如一年。
更重要的是(如评论中提到的),这只会影响你的手机。通过此过程删除的消息将保留在你的对话伙伴的手机上。
其次,如果你真的想保护你的iMessage,你应该开启苹果的高级数据保护功能。这将为你的iCloud备份激活端到端加密,并确保除了你之外没有人可以访问这些消息。
这与消失消息不同,因为它只保护备份。你的消息仍将存在于你的手机和加密备份中。但它至少能更好地保护你的备份。
第三,苹果宣传一个名为"iCloud中的信息"的功能,旨在备份和同步你的设备之间的消息。苹果甚至宣传此功能是端到端加密的!
我讨厌这种措辞,因为它具有灾难性的误导性。iCloud中的信息可能被加密,但是……如果你在没有ADP的情况下使用iCloud备份(这是新iPhone的默认设置),iCloud中的信息加密密钥本身将以苹果本身可以访问的形式备份到苹果的服务器上。因此,iCloud中的信息数据库的内容将完全可供苹果或任何能猜出你苹果账户密码的人使用。
所有这些都与消失消息无关。然而:具有适当反备份保护功能的消失消息,将使这些备份问题变得过时。