首页 > 其他分享 >学习文章:即时通信的安全加密通信模型研究

学习文章:即时通信的安全加密通信模型研究

时间:2023-05-31 17:11:33浏览次数:43  
标签:加密 通信模型 即时 密钥 服务器 端到 客户端

学习文章:即时通信的安全加密通信模型研究,具体见原论文

摘要

重点:即时通信的安全性和易用性。

主要工作:分析国内外即时通信的安全通道模型、详细讨论起消息加密和发送流程、给出不同加密模式下的群聊和多设备端的消息转发原理,设计端到端加密的安全通道模型,分析各种安全通信模型的使用场景,并给出建议。

引言

框架:

  • 即时通信很重要,使用广泛,所以安全性和易用性需要关注。
  • 国内外现状,当前存在问题
  • 本文工作

易用性:是否支持群聊、是否支持多设备端同时在线、是否支持历史消息获取等

即时通信的安全通信模型:

  • 端到服务器
  • 端到端

应用场景:

  • 单聊
  • 群聊
  • 多设备在线

通信模型

威胁模型

参与者:服务器(运行商)和客户端(用户)

  • 被动攻击:记录信息
  • 主动攻击:篡改、延迟、阻断等
  • 运行商攻击:服务器获取秘密信息

端到服务器

可以防主动攻击,但问题是服务器知晓所有消息,所服务器被攻破或是恶意的,则消息的安全性不能保证。

“微信”用的是端到服务器,我们的数据安全么?

单聊

用户和客户端建立加密通道:

  • 密钥协商
  • 客户端用服务器端的pk加密会话密钥,发送给服务器用sk解密

框架:

  • 服务器相当于中间方传递数据
image-20230531151556030

群聊

本质和单聊没有区别,服务器存储每个用户的共享密钥。

image-20230531152513490

端到端

解决运行商攻击,这样服务器不知道任何消息信息。

whatsApp和Telgram都是采用端到端加密

单聊

两层加密:

  • 内层:加密消息,密钥是客户端的公钥协商而成,服务器只转发公钥,不知加密密钥
  • 外层:客户端和服务器协商密钥,用于保护身份信息
image-20230531153244566

群聊

思想:

  • 客户端都生成一个消息加密密钥GK,并利用服务器将其秘密的发送给其他客户端,最终每个客户端都有一个密钥库
  • 客户端和服务器之间的会话密钥保护身份
  • 客户端与其他客户端通过密钥协商获得会话密钥,加密GK
  • 之后每次发消息只需用GK加密消息即可
image-20230531153338440 image-20230531162833486

多设备端在线

允许一个用户在多个设备端同时登录 相同的账户,比如允许用户同时在 PC 端、平板端 和智能手机端进行登录。

端到服务器

相当于群聊

image-20230531163750450

端到端

本质上是主设备发送消息给主设备,从设备需要同步主设备的消息。

需要两方的主设备都在线。

image-20230531164116313

实用场景

端到服务器:

  • 公司内部即时通信,可对消息进行审计,且可以获取聊天信息。
  • 顿时觉得微信好不安全!

端到端:

  • 安全性更高,可实现密钥的频繁更换。

标签:加密,通信模型,即时,密钥,服务器,端到,客户端
From: https://www.cnblogs.com/pam-sh/p/17446713.html

相关文章

  • 融云参编中国信通院「办公即时通信研究报告」,并入选「典型行业案例」
    近期,中国信息通信研究院(下简称“中国信通院”)联合融云等即时通信领域知名企业共同撰写发布《办公即时通信软件行业研究报告(2023年)》(下简称《报告》)。关注【融云RongCloud】,了解协同办公平台更多干货。《报告》从不断深入的数字化转型和不断完善的IM生态切入,介绍了IM推动企业管......
  • 区块链的技术——账本是去中心化的分布式存储,加密+校验(哈希二叉树)+多数选举来防止篡改
    ......
  • 即时设计—小组项目原型示例(附AI功能)
    (官网:js.design)即时设计——可云端编辑的专业级设计工具更简单高级的功能,支持多人实时协作,颠覆传统软件的设计形态。特点简介:即时设计是中国版的Figma,适用于团队合作和远程协作。它具有强大的实时协作功能,多人可以同时编辑和评论设计文件。它还具有内置的原型设计功能,可以创......
  • php页面加密码
    以下是一个简单的示例代码,用于在PHP页面中添加密码:<?php$password="mypassword";//设置密码if($_POST['password']!=$password){//如果表单提交的密码不正确if(isset($_POST['submit'])){//如果表单已经提交过echo"InvalidPassword";//显示错......
  • 以太坊Layer 2即将爆发!加密巨头入场布局,或将迎来“百链大战”!
       眼下,以太坊Layer2发展势头强劲。在数十条RollupLayer2异彩纷呈之际,Coinbase、ConsenSys等加密巨头也开始下场参与竞争,部署原生Layer2网络。    截至2022年底,Layer2解决方案的日均交易数在持续增加,甚至超过了以太坊。这意味着Layer2在短短几年内就取得了巨大的交易......
  • 加密api研究
    实验一-密码引擎-加密API研究0、查找各种标准的原始文档,研究学习(至少包含CryptoAPI,PKCS#11,GMT0016-2012,GMT0018-2012)(1)CryptoAPI:作为一部分MicrosoftWindows提供的应用程序编程接口(API),CryptoAPI提供了一组函数。这些函数允许应用程序在对用户的敏感私钥数据提供......
  • 免费在线客服ttkefu即时通信的系统
    从企业用户的角度来说,产品的丰富性使得企业在选择上的余地就大了很多,以在线客服系统为例,目前市场.上有很多款,并粗在功能上这些在线客服系统往往是大同小异企业不好选择产品的同时忠诚度也不会太高,究其根本原因还是产品的功能过于同质化,没有亮点来吸引企业客户。......
  • Html源代码加密?
    什么是Html源代码加密?使用JavaScript加密转化技术将Html变为密文,以此保护html源代码,这便是Html源码加密。同时,这种加密技术还可实现网页反调试、防复制、链接加密等功能。应用场景什么情况下需要Html源代码加密?Html源代码加密可用于哪些场景?Html源代码加密可用于以下需求场合:Html......
  • python实现密码与时间戳的加密
    1.概述:由于工作需要,要对用户的密码进行加密,由于仅是用一种加密方式(例如md5)比较容易被破解,故,我们进行了二次加密,代码如下2.代码实现importdatetimeimporthashlib#待加密信息#加密方法defencryption(pwd):"""加密时间戳(16位)每个数字加6后转为16进制,共1......
  • Groovy 基于Groovy实现MD5加密
    groovy3.0.7代码实现实现方式1importjava.security.MessageDigest;publicclassMD5Utils{ publicfinalstaticStringMD5(Strings){ char[]hexChars=['0','1','2','3','4','5','6',......