Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >探讨组合加密算法在IM中的应用

探讨组合加密算法在IM中的应用

作者头像
JackJiang
发布于 2025-02-26 03:39:29
发布于 2025-02-26 03:39:29
591
举报
文章被收录于专栏:即时通讯技术即时通讯技术

1、前言

本文深入分析了即时通信(IM)系统中所面临的各种安全问题,综合利用对称加密算法(DES算法)、公开密钥算法(RSA算法)和Hash算法(MD5)的优点,探讨组合加密算法在即时通信中的应用。

2、IM安全系列文章

本文是IM通讯安全知识系列文章中的第2篇,总目录如下:

《即时通讯安全篇(一):正确地理解和使用Android端加密算法》

《即时通讯安全篇(二):探讨组合加密算法在IM中的应用》(本文)

《即时通讯安全篇(三):常用加解密算法与通讯安全讲解》

《即时通讯安全篇(四):实例分析Android中密钥硬编码的风险》

《即时通讯安全篇(五):对称加密技术在Android上的应用实践》

《即时通讯安全篇(六):非对称加密技术的原理与应用实践》

《即时通讯安全篇(七):用JWT技术解决IM系统Socket长连接的身份认证痛点》

《即时通讯安全篇(八):如果这样来理解HTTPS原理,一篇就够了》

《即时通讯安全篇(九):你知道,HTTPS用的是对称加密还是非对称加密?》

《即时通讯安全篇(十):为什么要用HTTPS?深入浅出,探密短连接的安全性》

《即时通讯安全篇(十一):IM聊天系统安全手段之通信连接层加密技术》

《即时通讯安全篇(十二):IM聊天系统安全手段之传输内容端到端加密技术》

《即时通讯安全篇(十三):信创必学,一文读懂什么是国密算法》

《即时通讯安全篇(十四):网络端口的安全防护技术实践》

《即时通讯安全篇(十五):详解硬编码密码的泄漏风险及其扫描原理和工具》

3、即时通信应用所面临的安全问题

即时通信系统大都采用C/S、B/S、P2P等技术来实现即时通信的功能,软件编制没有统一的标准,使得IM系统本身存有多种安全漏洞,加上用户缺乏安全意识,导致在使用即时通信系统时出现各种安全问题。

3.1 信息窃取问题

目前的IM系统在交换信息或传输文件时仅仅采用了弱加密甚至不加密的方式,攻击者利用此缺陷监听、窃取重要数据,这种泄密可能性给企业或个人造成不可估量的损失,尤其是对一些特殊行业,如金融和证券等行业,将会构成巨大的商业安全威胁,这种攻击的类型是对信息机密性的攻击。

3.2 信息篡改问题

信息篡改又称中间人攻击,是攻击者试图在IM系统信息交互过程中,通过监听、窃取正常的信息流,对信息进行修改后再发往信息接收方。只要信息存在,就可能出现这种攻击,它还可能攻击传输中的信息,这种攻击的类型是对信息完整性的攻击。

3.3 信息伪造问题

在现有的IM系统中,接收方一般只根据发送方的ID或发送过来的简单信息进行确认,这样就给攻击者提供了机会。攻击者通过令人误导的昵称或者迷惑性的语言,骗取对方的信任,从而套取信息、诈骗或达到其他不良目的。这种攻击的类型是对信息真实性的攻击。

3.4 其他问题

由于IM系统的文件传输采取了P2P模式,它可以将文件作为附件通过点对点方式传送,而绕过网络周边安全防御设备。由于点对点隧道直接传至桌面计算机,因此受感染的文件借即时通信系统就能绕过防病毒网关的扫描,各种病毒如蠕虫、特洛伊木马等可以借此轻松地进入网络,很多被病毒感染的文件则可能利用即时通信系统进行传播。

攻击者也可以用缓冲区溢出、拒绝服务等攻击方式,通过IM系统的安全漏洞对整个网络系统进行攻击或传播病毒。

4、主流的加密算法介绍

4.1 对称加密:DES算法

DES即数据加密标准,这种加密算法是由IBM研究提出来的, 是一种分组密码,它用于对64比特的数据进行加密和解密。DES算法所用的密钥也是64比特,但由于其中包含了8个比特的奇偶校验位,因而实际的密钥长度是56比特。DES算法多次组合替代算法和换位算法,利用分散和错乱的相互作用,把明文编制成密码强度很高的密文。DES算法的加密和解密的流程是完全相同的,区别仅仅是加密与解密使用子密钥序列的顺序正好相反n1。DES算法属于对称加密算法,即加密和解密共享同一个密钥,主要用于解决数据机密性问题。

4.2 公开密钥算法:RSA算法

RSA算法作为惟一被广泛接受并实现的通用公共密钥加密方法,是众多阐述非对称密码体制的算法中最具代表性的,几乎成了公开密钥密码学的同义词。它是麻省理工大学的Rivest,Shamir和Adleman(RSA算法即为三人名字的缩写)于1977年研制并于1978年首次发表的一种算法。该算法的数学基础是数论的欧拉定理,它的安全性依赖于大数的因子分解的困难性,该算法至今仍没有发现严重的安全漏洞。RSA使用两个密钥,一个是公钥(PubHc Key),另一个是私钥(Private Key)加密时把明文分戍块,块的大小可变,但不超过密钥的长度。RSA把明文块转化为与密钥长度相同的密文。其算法如下:

首先选择两个相异大质数p、q,计算n=pq,取小于n的数e与(p-l)(q-l)互质。根据给定的e,再选择d满足ed除以z的模余数是1(即满足ed mod (p-l)(q-l)=1),根据欧几里得算法(a=bn+c,则a与b的最大公因子就等于b与c的最大公因子),这样的d-定可以找到。这样数对(n,e)为公钥,数对(n,d)为私钥在编码时,假设资料为A,将其分戍等长数据N块,每块为nKn。计算C=llle mod n,则c就是编码后的资料。至于解码,取III=Cd mod n。黑客攻击时怨得到e,这样就必须对n进行因式分解,选择足够大的质数p、q便能阻止分解因式。 对于p、q的选择,一般来说是足够大的素数,对于大数,并没有一个确定的界限,因为随着计算机技术的发展,破解能力正在逐步增强(根据摩尔定理计算能力18个月就翻一番)。RSA实验室的建议是,安全性要求相对较低时,p和q的乘积达到768位;安全性要求相对较高时,乘积达到1024位以上。

RSA算法还可以用于“数字签名”,即用私钥进行加密,公钥来解密。

4.3 Hash算法:MD5算法

MD5算法并不是加密算法,但却能形成信息的数字“指纹”,主要用途是确保数据没有被篡改或变化过,以保证数据的完整性。MD5算法有三个特性:

  • 1)能处理任意大小的信息,并生成固定长度128位的信息摘要;
  • 2)具有不可预见性,信息摘要的大小与原始信息的大小没有任何联系,原信息的每一个微小变化都会对信息摘要产生很大的影响;
  • 3)具有不可逆性,没有办法通过信息摘要直接恢复原信息。

5、应用探讨:组合加密算法实现即时通信系统的认证模型

本文综合利用以上算法的优点,在IM系统中建立以下消息发送模型,以解决IM系统所面临的信息窃取、篡改、伪造等安全问题。模型中用户A和B为IM系统的客户端,用户A和B之间彼此拥有对方的公钥或数字证书,A向B发送消息,其全过程如图1所示。

对于IM系统中蠕虫病毒感染安全问题的处理,通过以下模型进行处理,如图2所示。

6、应用探讨:组合加密算法实现即时通信系统的通信模型

按照以上加密认证模型,建立如图3所示的安全即时通信系统的实现模型,该模型包含两个层次的认证,一是服务器与客户机之间的双向认证,二是客户机与客户机之间的双向认证,即在两端连接发送数据之前,必须协商并交换密钥信息。服务器作为自签署证书的CA认证中心,认证的所采用的密码技术极为公开密密钥技术。

模型中的公开密钥技术充当了加密共享密钥和数字签名的作用,以解决服务器与客户机、客户机与客户机之间的身份鉴别和客户机之间进行数据通信的密钥传输问题。在Java密码术体系结构中,密钥生成和操作可以使用keytool程序来执行。

7、应用探讨:组合加密算法应用模型的安全性及效率分析

在以上模型中,利用对称加密算法处理消息、文件的加密,以解决信息、文件传送的机密性问题,具有加密速度快的特点;用公开密钥算法的加密技术解决了对称密钥在网络中明文传输问题;用Hash算法计算出摘要,再通过公开密钥算法的数字签名技术对摘要进行签名,既提高了效率,又保证了信息文件传输的鉴别和不可否认性;在文件处理过程中,通过病毒扫面和组合加密双重处理,减少了网络中文件传输病毒蠕虫感染的几率。(本文已同步发布于:http://www.52im.net/thread-217-1-1.html)

更多有关IM安全和架构资料

[1] 传输层安全协议SSL/TLS的Java平台实现简介和Demo演示》

[2] 理论联系实际:一套典型的IM通信协议设计详解(含安全层设计)》

[3] 微信新一代通信安全解决方案:基于TLS1.3的MMTLS详解》

[4] 来自阿里OpenIM:打造安全可靠即时通讯服务的技术实践分享》

[5] 简述实时音视频聊天中端到端加密(E2EE)的工作原理》

[6] 移动端安全通信的利器——端到端加密(E2EE)技术详解》

[7] Web端即时通讯安全:跨站点WebSocket劫持漏洞详解(含示例代码)》

[8] 通俗易懂:一篇掌握即时通讯的消息传输安全原理》

[9] IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token》

[10] 快速读懂量子通信、量子加密技术》

[11] 即时通讯安全篇(七):如果这样来理解HTTPS原理,一篇就够了》

[12] 一分钟理解 HTTPS 到底解决了什么问题》

[13] 一篇读懂HTTPS:加密原理、安全逻辑、数字证书等》

[14] 基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等

[15] 手把手教你为基于Netty的IM生成自签名SSL/TLS证书

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
1 条评论
热度
最新
可以,大佬,互粉一下
可以,大佬,互粉一下
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
即时通讯安全篇(一):正确地理解和使用Android端加密算法
即时通讯是互联网的重要应用形态之一,安全性一直是开发者需要优先考虑的基础问题,并不是使用了加密就绝对安全了,如果加密函数使用不正确,加密数据很容易受到逆向破解攻击。如何正确地理解和使用加密技术则显的尤其重要。
JackJiang
2025/02/19
1300
即时通讯安全篇(一):正确地理解和使用Android端加密算法
【NCRE四级网络工程师】计算机网络单选题
如果交换机的总带宽为14.4Gbps,它具有12个百兆的全双工端口,则其千兆的全双工端口数量最多为?
Meng小羽
2019/12/23
8940
软件设计师——信息安全
常见对称密钥(共享秘钥)加密算法:DES、3DES(三重DES)、RC-5、IDE算法。
秋邱
2024/10/09
1930
软件设计师——信息安全
即时通讯安全篇(十三):信创必学,一文读懂什么是国密算法
最近几年经常能听到IM应用的开发者讨论国产信创方面的技术问题,在某些场景下,国密算法是硬性要求,所以学习一下国密算法还是很有必要的。
JackJiang
2023/12/14
2.4K0
即时通讯安全篇(十三):信创必学,一文读懂什么是国密算法
一分钟理解 HTTPS 到底解决了什么问题
但对于程序员,很有必要了解下 HTTP 到底有什么问题?以及HTTPS 是如何解决这些问题的?其背后的解决思路和方法是什么?
JackJiang
2018/10/24
8330
微服务架构 | 微服务有哪些常用的加密方式 (一)?
导读:数据加解密技术是网络中最基本的安全技术,主要是通过对网络中传输的信息进行数据加密来保障其安全性,这是一种主动安全防御策略,用很小的代价即可为信息提供相当大的安全保护通过数据加密技术,可以在一定程度上提高数据传输的安全性,保证传输数据的完整性。
码农架构
2021/10/27
8990
即时通讯安全篇(十一):IM聊天系统安全手段之传输内容端到端加密技术
本文由融云技术团队分享,原题“互联网通信安全之端到端加密技术”,内容有较多修订和改动。
JackJiang
2022/08/29
2.1K0
即时通讯安全篇(十一):IM聊天系统安全手段之传输内容端到端加密技术
什么是加密?有哪些加密类型和加密算法?逆天原创神作,值得一读!
比如,你通过网络要给你父母转了1万块钱,在输入必要的银行卡信息后,钱顺利地转入你父母地账户,但是过一会你收到了另外一条消息,你的2万块钱转入到了另外一个账户,但是这不是你主动转的。
网络技术联盟站
2023/03/13
1.6K0
什么是加密?有哪些加密类型和加密算法?逆天原创神作,值得一读!
通信加密算法
加密算法通常分为对称性加密算法和非对称性加密算法。对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了。
全栈程序员站长
2022/09/01
1.8K0
通信加密算法
用JWT技术解决IM系统Socket长连接的身份认证痛点1、引言2、原作者3、系列文章5、完全搞懂什么是JWT技术6、我们是怎样使用JWT技术的?7、JWT技术的缺点8、点评附录:更多即时通讯方面的文
本文引用了封宇《JWT技术解决IM系统的认证痛点》一文的部分内容,即时通讯网重新整理、增补和修订,感谢原作者的无私分享。
JackJiang
2018/12/19
8510
基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等
在社区中,分享了很多篇基于Netty编写的IM聊天入门文章(比如《跟着源码学IM》系列、《基于Netty,从零开发IM》系列等),在这些文章中分享了各种IM通信算法原理和功能逻辑的实现。但是这样简单的IM聊天系统是比较容易被窃听的,如果想要在里面说点悄悄话是不太安全的。
JackJiang
2022/12/22
1.1K0
基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等
用JWT技术解决IM系统Socket长连接的身份认证痛点
随着瓜子二手车相关业务的发展,公司有多个业务线都接入了IM系统,IM系统中的Socket长连接的安全问题变得越来越重要。本次分享正是基于此次解决Socket长连接身份安全认证的实践总结而来,方案可能并不完美,但愿能起到抛砖引玉的作用,希望能给您的IM系统开发带来启发。
JackJiang
2018/11/28
9220
即时通讯安全篇(十):IM聊天系统安全手段之通信连接层加密技术
本文由融云技术团队分享,原题“互联网通信安全之端到端加密技术”,内容有修订和改动。
JackJiang
2022/08/22
1.3K0
即时通讯安全篇(十):IM聊天系统安全手段之通信连接层加密技术
即时通讯安全篇(九):为什么要用HTTPS?深入浅出,探密短连接的安全性
对于IM开发者来说,IM里最常用的通信技术就是Socket长连接和HTTP短连接(通常一个主流im会是这两种通信手段的结合)。从通信安全的角度来说,Socket长连接的安全性,就是基于SSL/TLS加密的TCP协议来实现的(比如微信的mmtls,见《微信新一代通信安全解决方案:基于TLS1.3的MMTLS详解》);而对于HTTP短连接的安全性,也就是HTTPS了。
JackJiang
2022/05/13
7360
即时通讯安全篇(九):为什么要用HTTPS?深入浅出,探密短连接的安全性
即时通讯安全篇(八):你知道,HTTPS用的是对称加密还是非对称加密?
本文引用了作者“leapMie”的“HTTPS 原理分析——带着疑问层层深入”一文内容,感谢原作者的文字。
JackJiang
2019/12/16
1.2K0
即时通讯安全篇(八):你知道,HTTPS用的是对称加密还是非对称加密?
如果这样来理解HTTPS,一篇就够了!
可能有初学者会问,即时通讯应用的通信安全,不就是对Socket长连接进行SSL/TLS加密这些知识吗,干吗要理解HTTPS协议呢。
JackJiang
2018/08/20
7240
计算机网络——网络安全
我的计算机网络专栏,是自己在计算机网络学习过程中的学习笔记与心得,在参考相关教材,网络搜素的前提下,结合自己过去一段时间笔记整理,而推出的该专栏,整体架构是根据计算机网络自顶向下方法而整理的,包括各大高校教学都是以此顺序进行的。 面向群体:在学计网的在校大学生,工作后想要提升的各位伙伴,
学编程的小程
2024/05/26
1330
计算机网络——网络安全
一篇读懂HTTPS:加密原理、安全逻辑、数字证书等
HTTPS(全称: Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。本文,就来深入介绍下其原理。
JackJiang
2019/04/08
1K0
即时通讯安全篇(十五):详解硬编码密码的泄漏风险及其扫描原理和工具
密码是对服务、系统和数据的访问权限进行授权的数字身份凭证,常见的密码有API密钥、非对称私钥、访问Token等。硬编码密码(Hardcoded Secret),或称嵌入式密码(Embedded Secret),是指将密码以明文方式直接写入代码中。这种处理方式极大地提高了攻击者命中密码的概率,使服务或系统暴露在风险中,容易造成严重损失。
JackJiang
2025/02/20
1650
即时通讯安全篇(十五):详解硬编码密码的泄漏风险及其扫描原理和工具
【愚公系列】软考高级-架构设计师 064-信息安全技术
信息安全技术是一种涉及保护计算机系统、网络和数据不受未经授权的访问、使用、泄露或破坏的技术和方法。信息安全技术的主要目标是确保信息的机密性、完整性和可用性,防止信息在传输和存储过程中遭到未经授权的访问或修改。
愚公搬代码
2024/07/08
2320
推荐阅读
即时通讯安全篇(一):正确地理解和使用Android端加密算法
1300
【NCRE四级网络工程师】计算机网络单选题
8940
软件设计师——信息安全
1930
即时通讯安全篇(十三):信创必学,一文读懂什么是国密算法
2.4K0
一分钟理解 HTTPS 到底解决了什么问题
8330
微服务架构 | 微服务有哪些常用的加密方式 (一)?
8990
即时通讯安全篇(十一):IM聊天系统安全手段之传输内容端到端加密技术
2.1K0
什么是加密?有哪些加密类型和加密算法?逆天原创神作,值得一读!
1.6K0
通信加密算法
1.8K0
用JWT技术解决IM系统Socket长连接的身份认证痛点1、引言2、原作者3、系列文章5、完全搞懂什么是JWT技术6、我们是怎样使用JWT技术的?7、JWT技术的缺点8、点评附录:更多即时通讯方面的文
8510
基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等
1.1K0
用JWT技术解决IM系统Socket长连接的身份认证痛点
9220
即时通讯安全篇(十):IM聊天系统安全手段之通信连接层加密技术
1.3K0
即时通讯安全篇(九):为什么要用HTTPS?深入浅出,探密短连接的安全性
7360
即时通讯安全篇(八):你知道,HTTPS用的是对称加密还是非对称加密?
1.2K0
如果这样来理解HTTPS,一篇就够了!
7240
计算机网络——网络安全
1330
一篇读懂HTTPS:加密原理、安全逻辑、数字证书等
1K0
即时通讯安全篇(十五):详解硬编码密码的泄漏风险及其扫描原理和工具
1650
【愚公系列】软考高级-架构设计师 064-信息安全技术
2320
相关推荐
即时通讯安全篇(一):正确地理解和使用Android端加密算法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档