论文部分内容阅读
随着互联网和移动互联网的迅速发展,基于PC端和移动端的即时通讯软件已经成为人们生活和工作中极为重要的通讯工具。目前,国内外主流的即时通讯软件主要包括GTalk、MSN、QQ、微信、Skype、Line等。各个公司为了维护自身的商业利益,采用封闭的即时通讯协议,使得各个即时通讯软件之间不能互联互通,给用户带来极大的不便。随着即时通讯用户数量的迅猛增长,即时通讯的安全性问题愈显突出和愈加重要。基于互联网传输的消息在传输的过程中可能会被窃取、侦听或篡改,从而给用户带来巨大的损失。由此可见,即时通讯目前主要面临两个问题,基于不同协议的即时通讯软件之间的互联互通问题,以及严峻的安全性问题。 针对基于不同协议的即时通讯软件之间的互联互通问题,本文对XMPP协议进行了研究和分析,分析了XMPP的体系结构、通信机制和安全机制,以及其开源、可扩展性、安全性等特点。 针对即时通讯的安全性问题,提出具有随意性通讯特点的即时通讯系统应具备的安全特性。本文认为,即时通讯系统除了在保证消息保密性、完整性、真实性的同时,还应该提供完美向前保密性、可抵赖性。完美向前保密性,指若用户意外泄露秘钥,仍能保证历史消息的安全性。可抵赖性,指消息作者可以对其所著作的消息进行抵赖,即任何人不能证明他就是消息作者。 加密协议是实现即时通讯安全性的关键点,本文研究和分析用于即时通讯的加密协议“off-the-record messaging”,简称“OTR”。该协议具有比PGP和S/MIME更适合具有随意性通讯特点的即时通讯系统,满足即时通讯系统的安全特性。OTR协议通过AES对称加密算法并采用短期秘钥加密消息,在保证消息保密性的同时,实现完美向前保密性;采用HMAC-SHA1和数字签名结合的复合算法进行消息验证,在保证消息完整性和真实性的同时,实现可抵赖性。SecureIM虽然提供消息加密且实现完美的前向安全性,但是不提供消息验证。PGP和S/MIME虽然提供消息加密和消息认证,但是由于采用长期性的加密秘钥,因而不能提供完美向前保密性,由于采用数字签名进行消息验证,因而不能提供可抵赖性。 本文介绍了iOS平台及相关技术,设计并采用Objective-C编程实现基于iOS系统的安全即时通讯软件。将OTR安全协议作为XMPP通讯协议的上层协议,保证了通信内容的保密性、可靠性和真实性的同时,实现完美向前保密性和可抵赖性。经过系统测试,系统具有稳定性,实现了消息加密,且加密处理不影响系统性能。