前言
本文深入分析了即时通信系统中的各种安全问题,综合利用对称加密算法(DES算法)、公钥算法(RSA算法)和哈希算法(MD5)的优点,探讨了组合加密算法在即时通信中的应用。
相关文章请参见:“即时通讯安全(1):正确理解和使用安卓加密算法”
即时消息安全系列文章
本文是关于即时消息通信安全知识系列文章的第二篇,内容如下:
即时通讯安全(一):正确理解和使用安卓加密算法
即时通讯安全第二部分:组合加密算法在即时通讯中的应用探讨(本文)
即时消息安全第3部分:常见加密和解密算法及通信安全说明
即时通讯安全(四):安卓关键硬编码风险案例分析
即时通讯安全(5):对称加密技术在安卓系统上的应用实践
即时通讯安全第六部分:非对称加密技术的原理及应用实践
即时通讯安全(七):利用JWT技术解决即时通讯系统中套接字长连接身份认证的难点
即时消息安全(8):你知道HTTPS是使用对称加密还是非对称加密吗?》
即时消息应用程序面临的安全问题
大多数即时通讯系统都使用了C/S、B/S、P2P等技术来实现即时通讯功能。软件编译没有统一的标准,这使得即时消息系统存在各种安全漏洞。此外,用户缺乏安全意识,这导致使用即时消息系统时出现各种安全问题。
1信息盗窃问题
目前,即时消息系统在交换信息或传输文件时只使用弱加密甚至不加密。攻击者利用这一缺陷来监控和窃取重要数据,这可能会给企业或个人造成不可估量的损失,尤其是对一些特殊行业,如金融和证券,这将构成巨大的商业安全威胁。攻击的类型是对信息机密性的攻击。
2信息篡改问题
信息篡改,又称中间人攻击,是指攻击者在即时通信系统的信息交互过程中,通过监控和窃取正常的信息流,试图修改信息并将其发送给信息接收者。只要信息存在,这种攻击就可能发生,也可能在传输中攻击信息。这种攻击的类型是对信息完整性的攻击。
3信息伪造问题
在现有的即时消息系统中,接收者通常只根据发送者的身份或发送的简单信息进行确认,这为攻击者提供了一个机会。攻击者通过误导昵称或混淆语言来欺骗对方的信任,从而获取信息、欺骗或达到其他不良目的。这种类型的攻击是对信息真实性的攻击。
4其他问题
由于即时消息系统的文件传输采用P2P模式,它可以通过点对点的方式传输文件作为附件,绕过网络周围的安全设备。由于点对点隧道直接传输到桌面计算机,被感染的文件可以通过即时通讯系统绕过反病毒网关的扫描,各种病毒如蠕虫和木马可以轻松进入网络,许多被病毒感染的文件可以通过即时通讯系统传播。
攻击者还可以利用缓冲区溢出、拒绝服务等攻击来攻击整个网络系统或通过即时消息系统的安全漏洞传播病毒。
主流加密算法介绍
1对称加密:DES算法
DES是数据加密标准。这种加密算法是由国际商用机器公司开发的。这是一种分组密码,用于加密和解密64位数据。DES算法中使用的密钥也是64位,但是因为它包含8位奇偶校验位,所以实际密钥长度是56位。DES算法多次结合了替换算法和换位算法,利用离散和无序的相互作用,将明文编译成高密码强度的密文。DES算法的加密和解密过程完全相同,唯一的区别是用于加密和解密的子密钥序列正好相反n1。DES算法属于对称加密算法,即加密和解密共享同一个密钥,主要用于解决数据保密问题。
2公钥算法:RSA算法
RSA算法作为唯一被广泛接受和实现的通用公钥加密方法,是描述非对称密码的众多算法中最具代表性的,几乎已经成为公钥密码的同义词。这是麻省理工学院的里维斯特、沙米尔和艾德曼(RSA算法是这三个名字的缩写)于1977年开发的算法,并于1978年首次发表。该算法的数学基础是数论的欧拉定理,其安全性取决于大数因子分解的难度。到目前为止,在这个算法中还没有发现严重的安全漏洞。RSA使用两个密钥,一个是公钥(公钥),另一个是私钥(私钥),加密时将明文分成块。块大小是可变的,但不超过密钥的长度。RSA将明文块转换成与密钥长度相同的密文。算法如下:
首先,选择两个不同的质数p和q,计算n=pq,取小于n的数e作为(p-l)(q-l)的质数。根据给定的e,选择d以满足e d除以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 =模n,然后C是编码数据。至于解码,取三=Cd模式n..当黑客攻击时,他们得到E,所以有必要因式分解N,选择足够大的素数P和Q可以防止因式分解。
一般来说,P和Q的选择都是足够大的素数,但对大数没有明确的限制,因为随着计算机技术的发展,破解能力逐渐增强(根据摩尔定律,计算能力在18个月内翻倍)。RSA实验室的建议是,当安全要求相对较低时,P和Q的乘积达到768位;当安全要求相对较高时,产品达到1024位以上。
RSA算法也可用于“数字签名”,即用私钥加密和用公钥解密。
3哈希算法:MD5算法
MD5算法不是加密算法,但它可以形成信息的数字“指纹”。其主要目的是确保数据未被篡改或更改,从而确保数据的完整性。MD5算法有三个特点:
可以处理任何大小的信息,并生成固定长度的128位信息摘要;
b具有不可预测性,信息摘要的大小与原始信息的大小无关。原始信息的每一个微小变化都会对信息汇总产生很大影响;
c是不可逆的,没有办法通过信息汇总直接还原原始信息。
应用讨论:组合加密算法实现了即时通信系统的认证模型
本文综合利用了上述算法的优点,在即时通信系统中建立了如下消息发送模型,解决了信息窃取、篡改和伪造等安全问题。在该模型中,用户A和用户B是即时消息系统的客户端。用户甲和乙拥有对方的公钥或数字证书,甲向乙发送消息。整个过程如图1所示。
即时通讯安全(2):讨论组合加密算法在即时通讯中的应用
即时消息系统中蠕虫感染的安全问题由以下模型处理,如图2所示。
即时通讯安全(2):讨论组合加密算法在即时通讯中的应用
应用讨论:通过组合加密算法实现即时通信系统的通信模型
根据上述加密认证模型,建立了如图3所示的安全即时通信系统的实现模型,该模型包括两个层次的认证,一个是服务器和客户端之间的相互认证,另一个是客户端和客户端之间的相互认证,即在两端连接发送数据之前,它们必须协商和交换密钥信息。服务器是自签名证书的认证中心,用于认证的密码技术是极其公开的密钥技术。
模型中的公钥技术起到了加密共享密钥和数字签名的作用,解决了服务器与客户端、客户端与客户端之间的认证以及客户端之间数据通信的密钥传输问题。在Java加密体系结构中,密钥生成和操作可以使用密钥工具程序来执行。
即时消息安全(2):讨论组合加密算法在即时消息中的应用
应用讨论:组合加密算法应用模型的安全性和效率分析
在上述模型中,采用对称加密算法对消息和文件进行加密,解决了信息和文件传输的保密性问题,具有加密速度快的特点;利用公钥算法的加密技术解决网络中对称密钥的明文传输问题,利用哈希算法计算摘要,然后利用公钥算法的数字签名技术对摘要进行签名,不仅提高了效率,而且保证了信息文件传输的认证和不可否认性。在文件处理过程中,采用病毒扫描和组合加密来降低文件传输中病毒蠕虫感染网络的概率。
----------------------------------------------------------------------------------
哇谷im_im即时通讯_私有云_公有云-哇谷云科技官网-JM沟通
IM下载体验 - 哇谷IM-企业云办公IM即时聊天社交系统-JM 沟通下载
IM功能与价格 - 哇谷IM-提供即时通讯IM开发-APP搭建私有化-公有云-私有化云-海外云搭建
新闻动态 - 哇谷IM-即时通讯热门动态博客聊天JM沟通APP
关于哇谷-哇谷IM-提供企业即时通讯IM开发-语音通话-APP搭建私有化-公有云-私有化云-海外云搭建
联系我们 - 哇谷IM-即时通讯IM私有化搭建提供接口与SDK及哇谷云服务
公有云和私有云之间有什么区别?类似融云、环信云、网易云、哇谷云?