论文部分内容阅读
随着智能手机与移动互联网的高速发展,移动即时通讯软件逐渐成为人们生活的一部分,丰富的多媒体信息让人们随时随地和亲朋好友的沟通更加多姿多彩。然而,商业即时通讯软件的协议私有化让即时通讯的发展受到一定的阻碍,开发者们越来越感受到闭门造车的弊端。因此,开源的即时通讯协议逐步受到人们的重视,XMPP(Extensible Messaging and Presence Protocol,可扩展通讯和表示协议)协议借此机会受到越来越多的开发者的青睐。本文针对目前即时通讯软件协议封锁的现状,结合开源的XMPP协议与混合加密方案,基于“金融获客”项目,通过改进AES(Advanced Encryption Standard,高级加密标准)与ECC(Elliptic Curves Cryptography,椭圆曲线密码学)加密算法,设计了专门针对即时通讯系统的混合加密方案,并设计与开发了基于XMPP协议的即时通讯系统。首先,本文调研了目前国内外即时通讯软件与即时通讯协议的发展现状,并对比了4种常用的即时通讯协议,选择了开源、灵活、可扩展性强的XMPP协议;接着,本文详细研究了XMPP协议的整体架构、地址结构、消息格式与安全机制等几个方面,并介绍了基于XMPP协议的Openfire开源服务器与Smack开源API以及Android操作系统;然后,本文对金融获客内嵌的即时通讯系统进行了功能性需求与非功能性需求的分析,接着对该系统的总体架构、网络拓扑进行了设计,并对数据库、服务器、客户端三端进行了详细的设计;在此基础上本文分别研究了原始的AES与ECC加密算法,并对其安全性缺陷做出了改进,同时调整密钥生成流程,设计了混合加密方案与选择性加密;然后本文对即时通讯系统进行了实现,给出了各个模块相应的类图,对重要的类与方法进行了解释说明,接着对混合加密方案进行了实现,然后对客户端的各个模块进行系统测试,同时对混合加密的功能与性能进行了测试,并对其安全性进行了论证,证实本文设计的混合加密方案相对于单一加密算法,性能与安全性的确有所提升;最后,本文总结了全文的工作,分析了该系统的不足之处,并展望了即时通讯的发展。