论文部分内容阅读
随着计算机及网络技术的飞速发展,当今社会正快速向着信息化方向前进,交流与沟通也就无时无处不在。近十年来,国内外一些即时通讯软件也在不断的完善之中。即时通讯(Instant Messenger,简称IM)软件不再是用来聊天、传送文件的工具,它已经发展成为当今社会人人都不可或缺的工具性软件之一,它是使用率最高的软件。集成好友搜索、在线显示、信息即时收发、语音视频交谈、公共聊天室、网络会议、收发电子邮件、手机短信、搜索引擎、文件传递与共享等多项功能,是融合了多种信息技术的Internet集大成者。
然而,随着信息化的不断发展,信息安全的重要性也就表现得更加突出了。在因特网或局域网中进行信息交换时,存在诸多不安全因素,比如信息被窃听、篡改和伪造等。一方面可以在物理方面采取一些措施,如增强物理线路和网络中间结点的安全性,另一方面,可采取积极主动的保护措施,即对传输中的信息进行加密,而常用的单加密算法使得信息的安全性欠佳。现有的IM系统,在聊天时常存在严重延时,有时甚至会出现连接不成功、断开连接的现象。
本文作者设计的该IM系统依据功能的不同,对各个功能模块的结构做出了相应的选择。在服务器连接、文本聊天应用时采用C/S架构,在用户注册、用户数据修改、用户及其好友信息的读取时采用B/S架构,对于音频沟通和未来的视频沟通中以及基于速度和延时的情况下,只能考虑P2P架构。
UDP协议是面向非连接的协议,它在正式通讯前不必与对方先建立连接,不考虑对方状态就可以直接发送数据。而TCP协议是面向连接的协议,在正式通讯前必须要与对方建立起可靠的连接。使用UDP仿TCP协议来提高NAT音频传送的成功率、可靠性、流畅性,结合两者的优越性,在单纯的UDP协议上做了一些扩展,研究和设计了UDP网络接口,实现了以UDP仿TCP协议的通讯,结合了两者的优点。
DES(Data Encryption Standard)作为加密标准得到了广泛的应用,它是一种使用56比特共享的秘码密钥来转换64比特数据分组的对称的分组密码。AES(The AdvancedEncryption Standard)作为新一代的密码标准,其有三种长度的密钥:128,192位和256位。相对DES的56密钥而言,AES的128密钥更强,密钥长度扩展成为了128。用AES算法来加密数据信息,而后用RSA加密由AES产生的密钥,将这两种算法结合起来,给破解增加了很大的难度。
本文针对上述问题,结合当前网络中的一些常用技术,例如UDP协议、TCP协议、VoIP网络电话技术、NAT穿透技术等,通过对腾讯QQ的模仿,采用C/S、P2P、B/S混合架构,以Visual Studio2005为开发平台,C++为开发语言,设计并实现了一个企业级的IM系统。基本完成和实现了文本聊天、用户注册、用户登录以及音频聊天功能。本人提出将AES、RSA两种加密算法进行融合,以提高IM系统传输数据的安全性。并且使用UDP仿TCP协议,整合出UDP协议与TCP协议的优越性的解决方案,实施了UDP协议的功能扩展,以提高数据传输速度,增加NAT穿透的成功率,提高安全性并使IM系统能良好的支持P2P架构,为未来用户的P2P技术的应用开辟了新的空间。通过扩展,用户可以让群中的其他用户访问自己本地盘内的资料和文件,不再有任何限制。而不需要像QQ那样将文件上传到群空间。P2P作为未来IM的应用的一个重要发展方向,具有一定的实际应用前景。