学习文章:即时通信的安全加密通信模型研究,具体见原论文
摘要
重点:即时通信的安全性和易用性。
主要工作:分析国内外即时通信的安全通道模型、详细讨论起消息加密和发送流程、给出不同加密模式下的群聊和多设备端的消息转发原理,设计端到端加密的安全通道模型,分析各种安全通信模型的使用场景,并给出建议。
引言
框架:
- 即时通信很重要,使用广泛,所以安全性和易用性需要关注。
- 国内外现状,当前存在问题
- 本文工作
易用性:是否支持群聊、是否支持多设备端同时在线、是否支持历史消息获取等
即时通信的安全通信模型:
- 端到服务器
- 端到端
应用场景:
- 单聊
- 群聊
- 多设备在线
通信模型
威胁模型
参与者:服务器(运行商)和客户端(用户)
- 被动攻击:记录信息
- 主动攻击:篡改、延迟、阻断等
- 运行商攻击:服务器获取秘密信息
端到服务器
可以防主动攻击,但问题是服务器知晓所有消息,所服务器被攻破或是恶意的,则消息的安全性不能保证。
“微信”用的是端到服务器,我们的数据安全么?
单聊
用户和客户端建立加密通道:
- 密钥协商
- 客户端用服务器端的pk加密会话密钥,发送给服务器用sk解密
框架:
- 服务器相当于中间方传递数据
群聊
本质和单聊没有区别,服务器存储每个用户的共享密钥。
端到端
解决运行商攻击,这样服务器不知道任何消息信息。
whatsApp和Telgram都是采用端到端加密
单聊
两层加密:
- 内层:加密消息,密钥是客户端的公钥协商而成,服务器只转发公钥,不知加密密钥
- 外层:客户端和服务器协商密钥,用于保护身份信息
群聊
思想:
- 客户端都生成一个消息加密密钥GK,并利用服务器将其秘密的发送给其他客户端,最终每个客户端都有一个密钥库
- 客户端和服务器之间的会话密钥保护身份
- 客户端与其他客户端通过密钥协商获得会话密钥,加密GK
- 之后每次发消息只需用GK加密消息即可
多设备端在线
允许一个用户在多个设备端同时登录 相同的账户,比如允许用户同时在 PC 端、平板端 和智能手机端进行登录。
端到服务器
相当于群聊
端到端
本质上是主设备发送消息给主设备,从设备需要同步主设备的消息。
需要两方的主设备都在线。
实用场景
端到服务器:
- 公司内部即时通信,可对消息进行审计,且可以获取聊天信息。
- 顿时觉得微信好不安全!
端到端:
- 安全性更高,可实现密钥的频繁更换。