iMessage 信息如何安全发送和接收信息

iMessage 信息如何安全发送和接收信息

iMessage 信息如何安全发送和接收信息用户通过输入一个地址或姓名来开始一次新的 iMessage 对话。如果他们输入一个电话号码或电子邮件地址,设备就会与 Apple 身份服务 (IDS) 联系,提取与该联系人相关联的所有设备的公钥和 APNs 地址。如果用户输入的是一个名字,设备首先会使用用户的“通讯录” App 来收集与该名字相关联的电话号码和电子邮件地址,然后再从 IDS 中获取公钥和 APNs 地址。

对于每个接收者的设备,用户发出的信息都会单独进行加密。接收设备的公共加密密钥和签名密钥取自 IDS。发送设备针对每个接收设备生成一个 88 位随机值,并将其用作 HMAC-SHA-256 密钥,以构成一个派生于发送者和接收者公钥以及明文的 40 位值。88 位值和 40 位值串联构成 128 位密钥,并在计数器 (CTR) 模式下使用 AES 加密连带的信息。接收方使用 40 位值验证解密后明文的完整性。此信息独有的 AES 密钥采用接收设备上用于加密公钥的 RSA-OAEP(算法)进行加密。之后使用 SHA-1 对加密的信息文本和加密的信息密钥进行混编,该哈希值会使用发送设备的专用签名密钥通过椭圆曲线数字签名算法 (ECDSA) 签名。在运行 iOS 13 或更高版本的 iPhone 和运行 iPadOS 13.1 或更高版本的 iPad 上,设备可能使用椭圆曲线集成加密方案 (ECIES) 加密,而非 RSA 加密。

针对每部接收设备所生成的每条信息包含加密的信息文本、加密的信息密钥和发送者的数字签名。信息然后会分派至 APNs 以进行发送。时间戳和 APNs 路由信息等元数据则不加密。与 APNs 的通信使用前向保密 TLS 频道加密。

APNs 最多只能转发大小为 4KB 或 16 KB 的信息,具体取决于 iOS 或 iPadOS 的版本。如果信息文本过长,或者附件中有照片等文件,那么附件会使用 AES 在 CTR 模式下通过随机生成的 256 位密钥进行加密并上传至 iCloud。附件的 AES 密钥、其统一资源标识符 (URI) 以及加密形式的 SHA-1 哈希值会作为 iMessage 信息的内容发送给收件人。常规的 iMessage 信息加密会保护以上内容的机密性和完整性,具体如下图所示。

对于群组对话,每一位接收者及其设备之间都会重复此过程。

对于接收方,每台设备接收到的是 APNs 发来的信息的副本,而且如有需要,设备会从 iCloud 提取附件。如果发送人的电话号码或电子邮件地址与接收者的通讯录相匹配,则会在可能的情况下显示一个名字。

与所有推送通知一样,信息在发出之后就会从 APNs 中删除。然而与其他 APNs 通知不同的是,如果设备不在线,iMessage 信息会列入队列等待发送。信息在 Apple 服务器上最长储存 30 天。

发布日期:2022 年 5 月 13 日另请参阅iCloud 安全性概览iCloud 高级数据保护iCloud 云备份安全性Apple 账户安全性概览下载本手册的 PDF 版

相关推荐

快手里的红心有什么用?快手1万红心是多少钱?
国内电动车那么便宜,为什么特斯拉还那么贵?最全解析在此,看完明白了!
白菜价!29岁世界冠军仅卖200万 他混得比格策还惨
windows11怎么一键去除文件夹
速发365网址

windows11怎么一键去除文件夹

⌛ 09-25 👁️ 5211
挚的意思
速发365网址

挚的意思

⌛ 01-26 👁️ 6868
憎怎么读
菠菜365哪个是真的

憎怎么读

⌛ 12-06 👁️ 4236