版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
当前各种即时通信软件被人们广泛使用,国内以微信为代表,国外以WhatsApp、Telegram为代表,这些即时通信软件的用户量都超过了10亿。即时通信几乎完全取代了原来的短信服务,为人们的日常工作和生活提供了信息交互、消息发布、群组通信甚至支付功能,满足了绝大多数人的沟通需求。正是因为每天的消息收发总量数以亿计,即时通信用户越来越关注消息的安全性。此外,考虑到用户体验,即时通信软件的易用性也是至关重要的,比如是否支持群聊,是否支持多设备端同时在线,是否支持历史消息获取等。众所周知,即时通信的安全性主要由密码学技术来实现,其中身份认证和消息加密是最基本的安全技术。但更关键的是如何在现实应用场景中正确使用这些安全技术来实现既定的安全目标。不同的即时通信软件虽然都采用了身份认证和加密技术,但采用的威胁模型却有比较大的差别,因此它们的消息加密模式和安全级别也不同。斯诺登事件揭露了国外专门机构对个人通信的监控问题后,即时通信的消息安全性越来越受到人们的重视,学术界对即时通信的安全性也开展了一些研究。国内的瞿晓海等人
研究了微信的加密通信原理,分析了微信的登录验证流程和加密密钥生成原理。万园春等人研究了微信交互协议和加密模式,并分析了密钥生成时的随机数安全性。国外的学者对即时通信的安全协议研究得比较多,Alexander,分别分析了同步通信协议Off-the-Record的认证、群聊通信以及安全性。对目前广泛使用的端到端加密协议signal进行了形式化分析。从安全协议角度评估了即时通信软件textsecure的安全性。利用符号化计算的方法对常见的即时通信协议进行了安全性的自动化验证。Marlinspike等人对端到端加密中的密钥交换协议X3DH进行了详细的阐述。从用户注册、身份认证、消息加密层面比较了几种国外主流的即时通信软件,给出了针对安全性和易用性的一些改进建议。本文将着重研究主流即时通信中的两类安全通信模型,一种是端到服务器加密模式下的安全通信模型,另一种是端到端加密模式下的安全通信模型。本文将分析两种安全通信模型在用户的单聊(一对一聊天)、群聊(群组聊天)以及多设备端在线(一个用户同时登录不同类型的设备端)3种主要场景下的聊天消息加密以及客户端发送消息和服务器转发消息时的差异性,并设计端到端加密模式下的多设备端同时在线通信的实用化模型。1即时通信的通信模型1.1威胁模型即时通信是一个包含服务器(运营商)和多个客户端(用户)在内的网络通信系统。根据攻击来源和敌手能力可以分为以下3种威胁模型:(1)被动攻击。该模型中敌手可以记录下一切从网络中获取的信息,包括加密的消息数据、消息收发时间、密钥协商时发送的公钥等。(2)主动攻击。该模型中敌手除了可以记录网络上获取的信息,还具有消息篡改、延迟、阻断及实施中间人攻击等能力。(3)运营商攻击。服务器参与用户消息的加密、解密以及转发等过程,服务器也可能作为攻击方,获取用户的身份和聊天等各种信息。1.2端到服务器加密的通信模型端到服务器加密的通信模型场景可以概括为以下两种:(1)单聊场景。如图1所示,端到服务器加密是指每个客户端都与服务器建立加密通道(一般是通过密钥协商协议或者客户端产生会话密钥后,用服务器的公钥进行加密,发送给服务器的方式建立共享密钥),用户A要与用户B通信,用户A的客户端将发送的消息经过共享密钥(服务器与用户A的共享密钥KAS)加密后发送给服务器,服务器利用KAS解密后,再将消息利用共享密钥(服务器与用户B的共享密钥KBS)发送给目标用户B的客户端。图1端到服务器加密模式下的单聊通信模型(2)群聊场景:如图2所示,在群组通信场景下,群内的一个成员A将消息也通过与服务器的共享密钥KAS加密后发送给服务器,服务器解密得到明文消息后,再将消息通过服务器与每个成员的共享密钥加密发送给群里的每个成员,本质上与单聊的加密模式没有区别。群内的成员退出后,服务器将不会转发群内的消息,退出的群成员也无法通过捕获其他成员的密文数据获得消息,因为退出的成员没有其他成员与服务器共享的解密密钥。图2端到服务器加密模式下的群聊通信模型端到服务器加密模型考虑的是主动攻击威胁,通过身份认证和加密防御网络窃听者和第三方主动攻击者。但用户的所有消息都会被服务器知晓,如果服务器被攻破或者本身就是恶意的,则用户的消息安全性不能保证。国内用户量最大的即时通信软件“微信”就是采用端到服务器加密的通信模型。1.3端到端加密的通信模型同理,端到端加密的通信模型场景也可以概括为以下两种:(1)单聊场景。如图3所示,端到端加密实际上采用了两层加密。内层是仅对消息加密,消息加密密钥通常是使用通信双方的公钥进行ECDH密钥协商协议而生成。密钥协商过程中服务器只是转发相应的公钥,因此服务器无法获取消息加密密钥。外层加密就是端到服务器加密模式,服务器与客户端进行会话密钥协商建立共享密钥。内层加密保护明文消息(服务器无法解密),外层加密保护通信双方的身份信息,服务器解密这层消息后知道消息应该发给哪一个用户。因为消息加密密钥是由通信双方客户端上产生的公钥协商得到,消息从一个客户端发出后,只有拟定的另一端才能正常解密,所以称为端到端加密。图3端到端加密模式下的单聊通信模型(2)群聊场景。端到端加密模式下因为服务器无法解密出消息明文,因此不能像端到服务器加密那样将消息明文重新加密转发。此外,对于内层加密,如果消息的发送者想利用与群组每个成员协商的消息加密密钥进行加密,则发送端需要发送n-1条消息(假设群组成员总数为n),这样会造成消息的发送端通信数据量太大。实际中是群组的每个成员首先生成一个自己发送消息时的消息加密密钥Gk,其次将这个Gk发送给其他的群成员,如图4所示。每个群成员都保存其他成员发过来的消息加密密钥,形成一个密钥库。图4端到端加密模式下群聊密钥的发送如图5所示,当某个成员要发送消息时,就利用之前生成的消息加密密钥Gk加密消息,发送给服务器,由服务器转发给其他成员。其他成员收到后,在密钥库中对应选择出相应群成员的密钥Gk进行解密。这样消息发送端进行群聊时也只发送一条消息,由服务器实现多条消息的转发。图5端到端加密模式下的群聊通信模型端到端加密模型考虑的是运营商攻击威胁,在这样的通信模型下,运营商只知道用户通信的通联关系,而对用户消息无法解密,进一步提高了用户消息的安全性。国外主流的即时通信软件如WhatsApp、Telegram等都采用端到端加密的通信模型,并且在单聊和群聊中的消息加密密钥可以进行滚动迭代,每加密一条消息后,消息加密密钥都会进行更换,可以做到加密的前向安全和后向安全,极大地提高了加密的安全强度。1.4安全性和复杂性比较对于即时通信模型的加密通信模型评测主要从安全性和复杂性2个方面出发来进行分析。(1)安全性。端到服务器加密模型中服务器能够完全获取通信用户的所有消息,用户的消息完全在服务器的掌控之下,如有需要,服务器可以对带有敏感词汇的用户消息进行记录、阻断和追踪等操作。在用户隐私保护意识逐渐增强的情况下,国际主流即时通信软件都先后采用了端到端加密模型。此时运营商服务器只能知晓用户的通联关系以及相关的元数据(如通联时间、通联消息条数等),无法知晓消息内容。(2)复杂性。这两种加密通信模型在安全协议实现的复杂性上有比较大的区别。这里主要分析密钥生成机制。端到服务器加密中,客户端和服务器通过密钥协商协议或者公钥加密会话密钥的方式创建共享的消息加密密钥,一般是一次会话(客户端上线一次)就创建一次密钥,当用户的客户端更新后(比如更换了设备或者在同一设备上重新安装了客户端软件),客户端和服务器将重新创建出新的消息加密密钥。在该客户端更新期间如果有别的用户发来信息,由于服务器能获取明文消息,当新的客户端上线后,服务器只需要利用和这个客户端新创建的密钥加密该明文消息并发送给该客户端即可,且不会出现消息无法解密的情况。端到端加密模型中密钥更新时的情况则相对复杂。实际在端到端加密模型中,每个端用于密钥协商的公私钥对是客户端安装后随机生成的,因此当用户更换设备或者在同一设备上更新客户端后,原来的公私钥对被删除,客户端会将新产生的公钥上传到服务器。在客户端更新期间,若有其他用户给该客户端发送信息,则消息加密密钥仍是由旧的公钥计算导出的。该客户端安装成功后,服务器将这条消息发送过来,该客户端会发现无法解密。笔者经过实际测试发现,国际上主流的端到端加密的即时通信软件对这种情况下的消息有不同的处理方式。WhatsApp处理得比较完善,若新的客户端上线后发现收到的消息无法解密,则会反馈给服务器,服务器会要求消息的发送方使用该客户端的新的公钥导出的密钥重新进行加密发送,这样该客户端作为消息的收方不会丢失消息。其他如Telegram、Signal等软件则会丢失这样的消息,并且由于客户端更新密钥,消息的发送方会收到服务器的提示消息,必须重新建立一个新的会话才能和该更新后的客户端进行端到端加密通信。在群聊的场景下可以看出,群组会话密钥的创建也是比较复杂的,每个群组成员都要存储其他群组成员发送的消息加密密钥,每个用户发送群组消息时使用的加密密钥都是不同的,密钥的存储和管理也更复杂。2多设备端在线通信模型一部分即时通信运营商为了提高软件的用户体验和方便性,允许一个用户在多个设备端同时登录相同的账户,比如允许用户同时在PC端、平板端和智能手机端进行登录。这时用户所收发的消息都会即时地同步到这些设备端,方便用户进行通信。此时,不同的加密模型下的通信方式有很大的不同。2.1端到服务器加密情形端到服务器加密模型下,服务器只需要管理同一用户的不同设备,并且与这些设备分别建立共享的消息加密密钥。如图6所示,假设用户A和用户B进行通信,用户A和用户B都各自登录了多个设备端。用户A给用户B发送一条加密消息,服务器收到用户A的消息后,进行解密,然后将这条消息加密并转发给用户A和用户B的各个设备端,这样这两个用户的每个设备端都完成了消息同步。用户的每个设备都能独立上线,比如只登陆PC端或者智能手机端。图6端到服务器加密模式下的多设备端通信模型2.2端到端加密模式情形对于端到端加密,情形则比较复杂。端到端加密本质上是由加密密钥在一对一的设备之间创建。同样假设用户A和用户B进行通信,用户A和用户B都各自登录了多个设备端。由于这些设备端上的公私钥对彼此不同,而用户A在发送消息时就必须选定其中一个设备端的公钥进行密钥协商导出消息加密密钥。对A来说,若用户B有B1和B2两个设备端,则A的客户端首先需要知道用户B有这两个设备端在线,其次将这条消息分别用与这两个设备端协商的密钥加密发送。假如此时用户A自身也有多个设备端在线,则用户A发送消息的客户端还需要将这条消息加密发送给自己的在线设备端。这样的协议过于复杂,而且每个客户端还需要随时保存自己账号以及对方账号的设备端登录状态(已下线的设备就不用发送消息了),此时,发送一条消息带来的数据量较大,这为协议的设计带来了非常大的困难。因此,目前的端到端加密方式的即时通信软件多数不支持多设备端的在线通信。从上面的分析可知,要是用户的多设备端都独立上线,则协议的设计比较困难。为了使端到端加密的多设备端在线通信成为可能,设计了下面的通信模型。如图7所示,用E(Key,M)表示使用加密算法E和密钥Key对消息M进行加密。该通信模型中以用户的智能手机端为两端的通信主设备,即用户A和用户B通信时,消息加密密钥都以对方智能手机端的公钥进行密钥协商并进行导出。用户A同时有多个设备端在线,主设备之外的设备称为从设备,比如从设备可以是PC端,也可以是平板端。主设备收到对方主设备发来的信息后进行正常解密得到消息明文,然后主设备与从设备之间利用端到端加密将该消息进行加密发送,从设备收到消息后进行解密,从而完成消息的多设备端同步。当用户A的某个从设备发送消息时,也是首先将消息发送到用户A的主设备,其次主设备解密后再将消息重新加密发送至用户B的主设备。类似地,用户B的主设备再将消息发送至用户B的从设备。图7端到端加密模式下的多设备端通信模型这样设计的通信模型需要通信双方的主设备都要在线,因为其他设备的消息不论收发都是通过主设备进行通信的。实际场景中很多用户是为了消息编辑的方便而使用PC端,智能手机端也不会离线,因此这样的设计是比较实用的。该模型中用户设备只是与己方主设备进行通信,避免了己方的设备与对方的所有设备进行密钥协商,较大地减少了对多设备在线状态的感知需求和密钥协商的复杂性。3
通信模型的适用场景建议在端到服务器加密模型中,服务器能解密所有用户的密文消息,如有必要可对用户通信的消息内容进行查找和审计等操作。用户消息的明文可在服务器端进行存储,新加入用户设备若是获取到相应的权限,可以很方便地进行历史聊天记录的获取,只需要用与新设备协商生成的消息加密密钥加密之前的明文消息并发送即可,比如一个工作群进来了一个新成员,需要了解这个工作群之前消息中的工作内容,这时就需要获取群中的历史消息。因此,端到服务器加密模型比较适合于一个公司内部的即时通信,特别是公司对员工交流的工作消息内容有审计的必要时,该加密模型可以满足这样的需求。端到端加密模型中服
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中等教育校本教育研究与实践考核试卷
- 海水淡化处理中的海水锰浓度测量考核试卷
- 游乐园的植物主题园区规划考核试卷
- 森林经营与环境保护的协调与平衡考核试卷
- 知识产权在人工智能时代的创新与发展考核试卷
- DB11∕T 3025-2020 五米以下小型船舶检验技术规范
- 敬业课件教学课件
- 灯谜英语课件教学课件
- 工厂培训员工培训方案
- 淮阴工学院《建筑力学2》2021-2022学年第一学期期末试卷
- 教学整本书阅读课《安徒生童话》(教案)部编版语文三年级上册
- 2024年河南资本集团招聘笔试参考题库附带答案详解
- 公立幼儿园食堂财务的管理制度4篇
- 临城兴业矿产资源有限公司闫家庄铁矿矿山地质环境保护与土地复垦方案
- (2024版)大学本科新增专业《智能视觉工程》解读
- 2023寺庙寺院品牌营销全案
- 学生心理健康一生一策档案模板
- 燃气行业应合力加强反恐防范
- 大学烹饪职业生涯
- 医疗影像技术部门KPI设计
- 到国有企业挂职锻炼的总结
评论
0/150
提交评论