关闭广告

通过 iMessage 发送消息是 iOS 设备和 Mac 电脑之间通信的一种流行方式。苹果的服务器每天处理数千万条消息,随着苹果设备销量的增长,iMessage 也越来越受欢迎。但您是否想过如何保护您的消息免受潜在攻击者的侵害?

苹果最近发布了 库门 描述 iOS 安全性。它很好地描述了iOS中使用的安全机制——系统、数据加密和保护、应用程序安全、网络通信、互联网服务和设备安全。如果你对安全有一点了解,并且英语没有问题,你可以在第20页找到iMessage。如果没有,我会尽量清楚地描述iMessage安全原理。

发送消息的基础是加密。对于外行来说,这通常与使用密钥加密消息并且收件人使用该密钥解密消息的过程相关。这样的密钥称为对称密钥。此过程的关键点是将密钥移交给接收者。如果攻击者掌握了它,他们可以简单地解密您的消息并冒充收件人。为了简化,想象一个带锁的盒子,里面只能放一把钥匙,用这把钥匙你可以插入和取出盒子里的东西。

幸运的是,有使用两个密钥(公钥和私钥)的非对称加密。原则是每个人都可以知道你的公钥,当然只有你知道你的私钥。如果有人想向您发送消息,他们会使用您的公钥对其进行加密。加密的消息只能用您的私钥解密。如果你再以简化的方式想象一个邮箱,那么这次它会有两个锁。使用公钥,任何人都可以解锁它以插入内容,但只有拥有私钥的您才能选择它。当然,我要补充一点,用公钥加密的消息不能用该公钥解密。

iMessage 中的安全性如何运作:

  • 激活 iMessage 时,设备上会生成两个密钥对 - 1280b RSA 用于加密数据,256b ECDSA 用于验证数据在传输过程中未被篡改。
  • 这两个公钥被发送到 Apple 的目录服务 (IDS)。当然,两个私钥仅存储在设备上。
  • 在 IDS 中,公钥与 Apple 推送通知服务 (APN) 中的电话号码、电子邮件和设备地址相关联。
  • 如果有人想要向您发送消息,他们的设备将在 IDS 中找到您的公钥(或多个公钥,如果在多个设备上使用 iMessage)以及您设备的 APN 地址。
  • 他使用 128b AES 对消息进行加密,并使用他的私钥对其进行签名。如果该消息要通过多个设备发送给您,则该消息会分别在每个设备的 Apple 服务器上存储和加密。
  • 有些数据(例如时间戳)根本没有加密。
  • 所有通信均通过 TLS 完成。
  • 较长的消息和附件在 iCloud 上使用随机密钥进行加密。每个这样的对象都有自己的 URI(服务器上某物的地址)。
  • 消息发送到您的所有设备后,就会被删除。如果它没有传送到您的至少一台设备,它会在服务器上保留 7 天,然后被删除。

这个描述你可能觉得很复杂,但是如果你看上图,你一定会明白其中的原理。这种安全系统的优点是只能通过暴力从外部对其进行攻击。好吧,就目前而言,因为攻击者变得越来越聪明。

潜在的威胁来自苹果本身。这是因为他管理着整个密钥基础设施,因此理论上他可以将另一台设备(另一对公钥和私钥)分配给您的帐户,例如根据法院命令,可以解密传入的消息。不过,苹果公司在这里表示,它不会也不会做任何这样的事情。

资源: TechCrunch, iOS 安全性(2014 年 XNUMX 月)
.