亲爱的苹果:请立即为iMessage添加“阅后即焚”功能——密码学工程的一些思考
这是一个关于密码学的博客,我总觉得有必要为任何不是“纯粹密码学”的帖子道歉。实际上,我已经对为此道歉感到有点厌倦了(不过,如果你想看一些硬核的密码学内容,这里和这里有很多)。
有时我必须提醒我的同事们,在现实世界中,我们的工作不是解决令人兴奋的数学问题,而是帮助人们安全地进行通信。而此时此刻,人们确实需要很多帮助。我的许多朋友是联邦雇员或为承包商工作,他们害怕会因为自己在网上发表的言论而失去工作。不幸的是,对许多人来说,“在线”包括通过私人短信发送的想法——因此即使是私人对话也变得令人噤若寒蝉。虽然这远不是这个世界上发生在人们身上最糟糕的事情,但它正在发生在我朋友和邻居的身上。
(以防你认为这是党派之争:我所说的这些人很多是共和党人,有些是在保护美国人安全的机构工作的退伍军人。他们为自己的工作和孩子感到害怕,而这种担忧超越了政治。)
那么,让我切入这篇相对较短文章的主题。
苹果iMessage是加密的,但它“安全”吗?
我的大多数“普通”朋友都是iPhone用户,虽然有些人已经开始下载Signal应用(你也应该下载!)——但许多人偏爱一种通信协议:苹果iMessage。这主要是因为iMessage就是苹果手机上内置的即时通讯应用。如果你不知道这个品牌,你只需要知道,当你与其他苹果用户交谈时,iMessage就是那些“蓝色气泡”。
苹果公司吹嘘iMessage应用对你的消息进行端到端加密,并且自2011年以来就一直如此。这意味着你所有的消息和附件都使用苹果不知道的密钥进行加密。该公司在这方面一直非常一致,在他们的平台安全指南中进行了讨论,并且在最近几年甚至扩展了他们的协议以提供后量子安全性。(几年前,我和我的学生在协议中发现了一个漏洞,但苹果迅速修复了——所以我个人对他们的加密非常有信心。)
这很好。而且这都是真的。
但传输中的加密只是故事的一部分。在以不可妥协的后量子安全性传递你的消息之后,苹果允许两件不那么好的事情发生:
- iMessage消息会永远留在你的手机上,除非你手动删除它们(这个过程可能需要在双方都进行,而且非常烦人)。
- 如果你开启了该功能,iMessage消息会自动备份到苹果的iCloud备份服务——而且由于苹果在iPhone设置过程中将其设为默认选项,大多数普通人确实开启了此功能。
这两个功能的结合,将iMessage变成了你整个生活的《星际迷航》式的船长日志。现在搜索一下,我能找到2015年的消息。尽管我的大脑告诉我这只是三年前的事,但我得到可靠消息说这已经是整整十年前了。
虽然上面的消息是无害的,但我想让你相信,这通常是一件非常糟糕的事情。人们希望进行私人对话。他们理应进行私人对话。而他们的技术应该让他们在这样做时感到安全。这意味着他们应该知道他们的即时通讯软件支持他们,并确保那些令人尴尬的、政治的或冒险的短信不会永远存储在某个人的手机里或备份中。
我们确切地知道如何解决这个问题,而其他每个通讯应用早就这样做了
如果你安装了WhatsApp、Facebook Messenger、Signal、Snap甚至Telegram(拜托不要!),你会遇到一个解决这个问题的简单功能。它通常被称为“阅后即焚”消息,但有时也有其他名称。
我几乎不好意思解释这个功能是做什么的,因为这就像解释方向盘如何工作一样。尽管如此。当你开始一次聊天时,你可以决定消息应该保留多久。如果你的答案是“永远”,你什么都不需要做。然而,如果这是一次敏感的对话,你希望它像电话一样是短暂的,你可以选择一个时间,通常从5分钟到90天不等。当这个时间到期时,你的消息就会被删除——既在你的手机上,也在与你交谈的人的手机上。
“阅后即焚”消息的一个独立功能是,一些平台会将这些对话从设备备份中省略,或者至少确保过期的消息无法恢复。这是有道理的,因为这些对话应该是短暂的:人们显然不期望这些短信在未来还存在,所以如果它们提前几天丢失,他们也不会那么生气。
除了基本的技术功能,“阅后即焚”消息功能还传达了一种信息。它向你的用户宣布,一段对话实际上是私密且短暂的,它的影响范围将是有限的。几个月或几年后,当它变得尴尬时,你不必再去想它。这不仅在技术上很有价值,而且因为它给用户带来了信心,这些用户在经历了科技公司多年的滥用后已经非常没有安全感。
为什么苹果不添加“阅后即焚”消息功能?
我不知道。我真的无法告诉你。这令人困惑、奇怪且错误,与他们所处的行业完全脱节。对于一个将其整个品牌形象建立在诸如此类东西上的公司来说,这尤其奇怪:
重申一下,几乎其他所有人们大量使用的即时通讯产品(至少在美国这里)都有某种“阅后即焚”消息功能。苹果的缺失开始变得非常独特。
我确实有一些在苹果安全部门工作的朋友,我曾试图和他们谈论这个问题。当我做这类事情时,他们通常试图避开我——有时他们会提到律师——但当我足够烦人(并且我在他们无法脱身的情况下逮住他们)时,我偶尔能让他们回答我的问题。例如,当我问“你们为什么不默认开启端到端加密的iCloud备份”时,他们会给我深思熟虑的答案。他们会告诉我用户害怕丢失数据,还会告诉我一些悲伤的故事,讲述要使这些功能像未加密备份一样好用是多么困难。(我有一半相信他们。)
当我问及“阅后即焚”消息时,我得到的是尴尬的叹息和沉默。没有人能解释为什么苹果在这个基本功能上如此落后,即使是作为一个选项,也远在它成为其他每个通讯应用的标准之后。因此,我最多只能猜测。也许苹果高管们担心,如果他们激活这样一个安全功能,政府会向他们施压?也许Messages应用是用某种过时的语言编写的,他们无法更新它?也许iMessage服务器已经拥有了自我意识,现在像操纵木偶一样控制着蒂姆·库克?这些都不是很好的答案,但比公司提供的任何解释都要好——苹果安全部门的每个人都知道这一点。
在一个优先事项错位的典型例子中,苹果甚至花时间为iMessage协议添加了后量子加密——这意味着苹果用户现在可以免受尚不存在的量子计算机的威胁。然而,用户最私密的秘密仍然可以被任何能猜到他们的密码并使用搜索框的人从他们的手机或备份中读取。在2025年,这不是一个好的状态,苹果需要做得更好。
几点技术说明
由于这是一个技术博客,我觉得有必要说一些比上面的请求稍微详细一点的东西。
首先,Gene Hoffman向我指出了手机设置中的一个名为“保留信息”的小功能(隐藏在“设置”->“信息”中,然后向下滚动很远)。这决定了你自己的手机上信息将被保留多长时间。你不能为每个对话设置此功能,但你可以将其设置为比“永久”短的时间,例如一年。然而,这对某些人来说是一个重大的决定,因为它会立即删除你实际上关心的任何旧信息。
更重要的是(如评论中提到的),这只影响你自己的手机。通过此过程删除的信息将保留在你对话伙伴的手机上。
其次,如果你真的想保护你的iMessage,你应该开启苹果的高级数据保护功能。这将为你的iCloud备份激活端到端加密,并确保除你之外没有人可以访问这些信息。
这与“阅后即焚”消息不同,因为它只保护备份。你的信息仍将存在于你的手机和你的加密备份中。但它至少能更好地保护你的备份。
第三,苹果宣传一个名为“iCloud中的信息”的功能,该功能旨在跨设备备份和同步你的信息。苹果甚至宣传此功能是端到端加密的!
我讨厌这种措辞,因为它极具误导性。iCloud中的信息可能是加密的,但是……如果你在没有启用高级数据保护的情况下使用iCloud备份(这是新iPhone的默认设置),iCloud中的信息加密密钥本身将以苹果本身可以访问的形式备份到苹果的服务器上。因此,iCloud中的信息数据库的内容将完全可供苹果或任何能猜出你苹果账户密码的人访问。
这些都与“阅后即焚”消息无关。然而:带有适当防备份保护的该功能,将在很大程度上使这些备份问题变得无关紧要。