iCloud 功能中的 iMessages = Apple 服务器上的所有未加密消息。有多安全?

信息安全 加密 即时通讯 苹果
2021-08-20 01:32:14

随着 iOS11 的发布,Apple 推出了一项新功能:“云端 iMessages”。现在他们已经发布了包含此功能的 iOS 11.3 测试版。我读到很多人都在等待它,这意味着几乎每个人都会使用它,几乎每个对话都将存储在 Apple 服务器上。挺吓人的。

根据 iOS 白皮书,iMessage 消息是 e2e 加密的,但 iCloud 中绝对没有关于 iMessage 的信息。他们说消息将跨设备同步,并且您可以在没有 iPhone 备份的情况下恢复所有消息。但是,如果每条消息都使用唯一的密钥加密并且只能使用该密钥解密,那怎么可能呢?这是否意味着 Apple 会跨设备同步密钥?!或者这是否意味着 Apple 将在 iCloud 中存储未加密的消息?

此功能的安全性如何?

3个回答

您似乎对端到端加密信使有一种更常见的误解。端到端加密用于从 Alice 到 Bob 传输的消息,一旦它们到达 Bob 的设备,它们通常以未加密的方式存储(尽管通常在系统级别进行加密)。存储消息和备份的加密是一项单独的功能。

我可以在本文档中找到的对存储在 iCloud 中的 iMessage 的唯一引用如下:

iCloud 还每天通过 Wi-Fi 备份信息,包括设备设置、应用程序数据、照片和相机胶卷中的视频,以及信息应用程序中的对话。iCloud 通过在通过 Internet 发送内容时对其进行加密、以加密格式存储并使用安全令牌进行身份验证来保护内容......

以下是 iCloud 备份的内容:

  • ...
  • iMessage、短信 (SMS) 和彩信(需要备份期间使用的 SIM 卡)
  • ...

因此,备份到 iCloud 的所有数据似乎都是加密的,但几乎可以肯定,密钥由 Apple 持有。由于需要 SIM 卡来恢复 iMessage,这可能意味着 iOS 在将数据发送到 iCloud 之前,会使用从 SIM 卡上的信息派生的密钥对 iMessage 进行加密,但我还没有看到任何确认,而且我不熟悉SIM卡足以知道这将是多么安全。

至于在没有备份的情况下同步消息,我所看到的只是:

用户的传出消息针对每个接收者的设备单独加密。

这与其说是“同步”消息,不如说是自动向所有收件人的设备发送相同的消息。如果收件人在发送消息后激活了新设备,则它不会出现在该设备上。这似乎与您声称无需 iCloud 备份即可同步和恢复消息的说法不符。

Apple 在其iCloud 安全概述支持页面中解决了这个问题。从本文中引用相关引文,他们声称端到端加密服务只能由用户访问。

对于某些敏感信息,Apple 使用端到端加密。这意味着只有您可以访问您的信息,并且只能在您登录 iCloud 的设备上访问。没有其他人,甚至苹果公司,都无法访问端到端的加密信息。

有一个警告!

要使用端到端加密,您必须为您的 Apple ID 开启双重身份验证。

然后他们专门处理存储在 iCloud 中的 iMessage。

iCloud 中的信息也使用端到端加密。如果您打开了 iCloud 备份,则保护您的信息的密钥副本将包含在您的备份中。这可确保在您无法访问 iCloud 钥匙串和受信任的设备时恢复您的信息。当您关闭 iCloud 备份时,会在您的设备上生成一个新密钥以保护未来的消息,并且它不会由 Apple 存储。

我能说的最好的方法是,如果您打开 iCloud 备份和 iMessage 备份,则密钥存储在云中。但是,关闭手机的 iCloud 备份将意味着他们无法访问私钥。

我注意到你的问题没有得到回答,所以我会尽力让你了解我对这种情况的理解。我个人不是苹果爱好者,但我相信他们会遵循良好的安全程序。在浏览了他们的白皮书之后,我相信我对他们的 iMessage 加密如何工作有了一个不错的了解。

整个过程基于非对称和对称加密的结合。Apple 使用两对非对称密钥让设备相互验证自己的身份,并对只能由其指定的设备解密的数据进行加密。实际有效负载使用 AES(对称)加密,密钥是根据接收方的公钥和发送方随机生成的值生成的。为每条消息重新生成 AES 密钥(好东西),如果将消息发送给拥有两台设备的用户,则此加密协议将经历两次,因为每个设备的加密消息都不同。

我刚才所说的苹果版本是:

用户的传出消息针对每个接收者的设备单独加密。从 IDS 检索接收设备的公共 RSA 加密密钥。对于每个接收设备,发送设备生成一个随机的 88 位值,并将其用作 HMAC-SHA256 密钥,以构造从发送方和接收方公钥和明文派生的 40 位值。88 位和 40 位值的串联构成一个 128 位密钥,该密钥在 CTR 模式下使用 AES 加密消息。

它看起来与 Open Whisper Systems 在 2013 年创建的开源 Signal 协议非常相似。维基百科页面当然,以良好的 Apple 方式,他们永远不会承认他们在 FB Messenger 上的新安全聊天模式中使用许多大公司(如 Facebook)利用的标准化开源协议,因为他们是 Apple,必须证明其荒谬的价格是合理的。

无论如何,如果您想了解更多信息,我建议您阅读有关 Signal 协议的更多信息。它可以说是现有的最安全的端到端加密协议,并且是开源的并且有据可查。Apple 将永远对他们所做的事情保持谨慎,但要坚定地回答您的问题,我很有信心 Apple 说的是实话,他们真的无法阅读这些消息,因为这样做,他们将不得不打破 RSA,这将是开创性的那个能力竟然泄露了。

希望能帮助到你!