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

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

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

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

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

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

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

与所有推送通知一样,信息在发出之后就会从 APNs 中删除。然而与其他 APNs 通知不同的是,如果设备不在线,iMessage 信息会列入队列等待发送。信息会被储存最长 30 天。发布日期:2021 年 2 月 18 日

imssage用服务器怎么发信息,iMessage 信息如何安全发送和接收信息相关推荐

  1. 《飞鸽传书下载》发送和接收信息

    随着信息交流的日益频繁,用户渴望更轻松地<飞鸽传书下载>发送和接收信息,发布短信更加简捷,是"语音短信"类产品的一大优势. 企业即时通讯能够解决什么问题?企业即时通讯是 ...

  2. ssms 缺少索引信息_疯象网:都说二十世纪信息值钱,其实二十一世纪的信息更值钱...

    可能大家都听过"20世纪最值钱的信息,21世纪最值钱的是人才"但往往大多数年轻人都不知道是什么意思. 20世纪因为传递信息很慢,或者成本比较高昂,所以大家信息交换的少,自然也就存在 ...

  3. 服务器装qq传文件好吗,QQ发送的离线文件,能够在QQ服务器上永远保存下去,直到对方接收。()...

    相关题目与解析 使用QQ发送离线文件,则该文件被暂存在A.对方桌面上B.QQ邮箱中C.本地桌面上D.QQ服务器上 POPserver称为()A.文件传输服务器B.电子邮件接收服务器C.电子邮件发送服务 ...

  4. 服务器发不了邮件,发邮件服务器-如何发邮件?为什么发不出去?服务器是什么?发邮件时,信息要服务器 爱问知识人...

    Outlook Express邮箱使用全攻略(转自云之渊论坛: ) 1.防止OE发送乱码正确的方法是: 首先,在邮件编辑窗口中,用鼠标单击菜单栏中的"格式"菜单,并从弹出的下拉菜单 ...

  5. 【苹果相册推送位置推送iMessage】软件安装TestFlight计划的信息

    推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...

  6. 公司内服务器微信报警怎么做,一种用企业微信实现信息报警的装置制造方法及图纸...

    [技术实现步骤摘要] 一种用企业微信实现信息报警的装置 本专利技术涉及远程报警 ,特别是涉及一种用企业微信实现信息报警的装置. 技术介绍 目前市场上的各种报警器,有一种是用电话或手机短信实现报警,这种 ...

  7. 客户端服务器信息交互,select实现客户端和服务器端的信息交互(TCP socket)

    实现功能: 客户端:<1>从标准输入(键盘)读入信息,然后通过socket发送到服务器端; <2>接收来自服务器端的信息,并显示到终端里. 服务器端:<1>从标准输 ...

  8. 异常信息:由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults

    异常信息:由于内部错误,服务器无法处理该请求.有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults <behaviors><endpo ...

  9. 接收微信服务器传来信息,微信接收信息延迟?原来都是它们搞的鬼!这一键下去就轻松解决...

    一.为什么会信息延迟 1.手机网络太差 这应该是最明显的一个问题了,网络不好别说是微信了,不论是干什么都慢人一步了,所以手机功能还是要利用起来. 无线网络信号不佳,我们应该选择智能连接WLAN或者移动 ...

最新文章

  1. Java学习第三天160818 表单 框架 下拉列表等
  2. Python 技术篇-连接oracle数据库并执行sql语句实例演示,python连接oracle数据库oci详细配置方法
  3. 中值滤波_Halcon联合C#编程自学笔记三之中值滤波
  4. 算法 | 数据结构与算法(代码版)
  5. Mac中AndroidStudio没有找到Plugins的问题
  6. HTML+CSS+JS实现 ❤️响应式图文卡片滑块展示特效❤️
  7. 解决eclipse报PermGen space内存溢出异常的问题
  8. 企业如果结合职工筑牢安全生产压舱石_山能枣矿集团柴里煤矿机电运输科扎实推进女职工“素质提升+岗位建功”竞赛活动...
  9. acfun json 弹幕 转换 bilibili xml 弹幕
  10. 毕业设计——宠物店管理系统
  11. ceph osd 修复备忘
  12. 电脑系统重装篇3:Windows 7 系统安装步骤(UltraISO)
  13. 辞旧迎新又一年(18年年终总结)
  14. 《全基因组测序WGS数据分析——2.FASTA和FASTQ》学习笔记
  15. 揭秘英雄联盟的数据服务器
  16. 在centos6.8中修改用户名和用户组名
  17. 安超云入选《鲲鹏精选解决方案》
  18. Kafka系列之:深入理解Kafka 主题、分区、副本、LEO、ISR、HW、Kafka的主写主读和分区leader选举
  19. Python正则表达式去掉字符串下划线末尾的纯数字
  20. DHCP OPTION 82的原理

热门文章

  1. android登录界面
  2. HTML5基础学习——列表标签表单标签
  3. 通讯录管理系统C++版本
  4. 今天面了个字节跳动拿35K出来的,真是砂纸擦屁股,给我露了一手啊
  5. 2016年蓝桥杯省赛C/C++ A组-剪邮票
  6. oracle中视图的使用
  7. js实现淘宝首页图片轮播效果
  8. php v9数据库,phpcms V9数据库表名称表
  9. unity recorder输出带alpha通道图像
  10. asp.net asp:Repeater下的 asp:LinkButton CommandArgument点击事件