“安全即时通信软件的设计与实现-客户端设计”文献综述摘要本文首先综述了即时通信的发展状况,列举了一些研究成果的应用,介绍即时通信系统的工作原理;其次分析了即时通信系统的各功能模块和软件层次结构,同时分析了即时通信软件面临的一些安全威胁;最后就目前的发展状况预测未来即时通信软件的发展趋势。
前言即时通信是一种基于局域网或者Internet网应用的实时交互方式,IM的迅速发展正在急剧地改变人们通信、协作和娱乐的方式。
网络上的用户可以利用IM软件实现文字、音频和视频等信息的即时传送,以及点对点的数据交换,它的研究涉及到网络安全、P2P、C/S、Web Service等诸多技术领域。
在技术和应用取得巨大成就的同时,即时通信要确立未来的主流信息应用和技术的地位,还必须解决自身所存在的一系列安全问题。
例如,蠕虫等病毒会利用P2P通信网络进行传播,因认证机制欠严密造成用户账号和密码被盗;所以,我们需要进行安全性分析和设计以提高即时通信软件的安全。
正文即时通信系统一般由客户端软件和服务器软件两部分组成。
客户端为用户提供使用各种功能服务的界面,服务器为客户端提供登陆、即时信息交流和管理等服务。
双方在首次进行即时通信前必须先在计算机中安装即时通信客户端软件,然后登陆到提供即时通信服务的服务器,经注册后获得由服务器统一分配的唯一标识符后方可开始通信。
通信时,由客户端发起连接请求,服务器担任中转者的角色,将网络包从发送方转交给接受方,这采用了C/S 模式[7];由于客户之间使用音频、视频及传输文件等服务,通信数据量较大,此时由服务器转发会出现响应不及时、服务器负载过重等问题,因此,当提供这些服务时,通常由服务器进行协商,在两个客户端建立P2P连接,进行直接传送。
系统总体构架图如图2-1所示。
图2-1系统总体构架图3.即时通信系统的模块分析与设计3.1 即时通信系统的功能模块目前即时通信技术发展很快,即时通信系统已由传统的文本信息传输工具发展成为集文本消息传输、文件传输、语音视频通信、网络会议、电子邮件等多种功能干一体的综合信息处理系统[1]。
但一般的即时通信系统只具有一些基本功能,网络会议比较适用于企业级即时通信系统。
·即时信息收发模块。
它是即时通信系统的基本功能,用于在联系人间完成文本信息的收发。
用户可以实时查看其它用户的在线状态,若在线则与之进行实时交流。
·文件传输模块。
它通过在联系人间建立传输链路来收发文件,几十兆的文件瞬间即可到达接收方。
·语音视频交流模块。
它完成联系人间语音和视频文件的传送,使交流者虽身处异地也如同面对面交流一样。
·网络会议模块。
它为多个用户提供视频会议功能,会议由主持人发起,并通过即时信息收发模块向与会人员发出会议邀请。
与会者使用屏幕共享展示会议中所需的资料,使用电子白板[8]表达自己的观点,优秀的音频视频效果使网络会议与真正的会议无异。
·电子邮件模块集成了邮件到达提醒,离线消息转邮件功能,用户可使用此模块直接进行电子邮件的收发。
3.2 客户端软件层次结构客户端软件层次结构如图3-1所示。
图3-1 客户端软件层次结构客户端主界面框架是软件的总框架,管理其它所有模块。
登录和状态管理模块,文字通信模块和好友管理模块均是软件界面的组成部分。
网络通信模块提供网络接口,包括UDP 通信和TCP通信,同时提供网络包的封装和解包的函数调用接口。
本地数据管理提供对本地数据结构和本地文件的访问,维护和管理的函数接口,同时提供对注册表维护管理的函数接口。
4.即时通信安全威胁与分析与即时通信的广泛应用所不同的是,其安全防护非常薄弱。
因即时通信系统设计安全级别低、用户缺乏安全防护意识与知识、应用广泛等原因,存在大量的安全威胁。
·窃听威胁。
大部分即时通信系统不加密消息网络流量,第三方窃听者可借助报文嗅探器(sniffer)[10]窃听两个用户的会话。
·账号假冒和口令破解。
许多即时通信系统对于账号假冒和欺骗是脆弱的,攻击者可以假冒一个用户的账号和另一个用户即时通信,许多Web站点为攻击者提供这种工具。
在许多即时通信系统中,口令保护也很有限。
·利用即时通信系统漏洞攻击用户的主机。
黑客借助即时通信系统,进一步控制用户的计算机。
如QQ尾巴病毒就是通过用户的QQ给对方发消息,而且这种消息发送是自动进行的,其中带有一个程序或一个恶意网站的网址,对方收到消息后,由于是好友发过来的,往往会毫不犹豫地点击那个网址或程序,就会被除恶意代码、病毒攻击,导致系统被破坏。
·利用即时通信系统传播网络蠕虫病毒和植入木马。
每个即时通信用户都维持着一个好友列表,恶意攻击者可以利用这些有利条件结合即时通信软件提供的可编程能力和即时通信软件自身的脆弱性达到传播网络蠕虫病毒和植入木马的目的。
·垃圾信息和DoS攻击。
如“飘叶千夫指”、QQSend等攻击工具专门向QQ客户端发送大量垃圾消息,阻塞带宽,使客户端不能正常使用。
·恶意脚本病毒。
利用即时通信脚本执行引擎的漏洞搜集用户信息,并复制传播。
为了有效地抵御即时通信软件所面临的安全威胁,需要从身份认证、消息认证、传输加密等方面进行安全性设计。
5.即时通信的发展及应用目前市面上流行的即时通讯软件主要有:ICQ、“腾讯QQ”、MSN、Y AHOO!MESSENGER、UC,以及“网易泡泡”等软件。
ICQ原是以色列的几名学生开发出来的一款即时通讯工具软件。
它利用点对点的方式通讯,任何登录ICQ服务器的用户,尽管国籍、肤色、文化背景、宗教信仰不同,都能够在网上即时沟通。
任何人只要拥有ICQ号码,就可以与世界各地的人做朋友,它的互动性是Web网页、虚拟社区和电子邮件所无法媲美的。
在办公室中,同事之间透过ICQ联络事宜,就算近在咫尺,也无须起身交谈;与远方的亲朋好友交谈,也只是轻轻敲几下键盘就可以解决问题,这种交流在过去几乎是无法想象的。
但ICQ对中文的支持比较差,不适于中国企业中使用。
“腾讯QQ”是国内最时髦的即时通讯工具,其用户的年龄层次从刚开始的中小学生族,发展到现在的几乎所有上网者。
每当看到连到网上的一台台电脑上。
屏幕上跳跃着一个个各式各样“小人头儿”,就知道QQ上的好友来信了。
目前“腾讯QQ”开展了大量的网络增值服务,如为其用户提供网上寻呼、视频聊天、语音聊天、网络硬盘、动态新闻等信息,开通手机上的移动QQ服务,同时为每一个QQ账号送一个5M的免费邮箱。
Yahoo! Messenger(雅虎通)是由美国著名搜索网站Yahoo推出聊天工具。
Yahoo! Messenger的功能侧重点似乎并不在它的聊天功能上,它更像一个免费信息提供器。
Yahoo! Messenger支持多种操作系统,并支持其它便携式无线设备,具有与其它即时通讯软件所不同的商业价值。
你不仅可以随时查看新闻和天气预报,甚至可以随时查阅股票行情:你还能利用Yahoo! Messenger 安排自己的日程计划,随时探测新到的邮件。
朗玛UC是2002年里新涌现的即时通讯软件代表,它的开发者想通过朗玛UC给大家带来这样一个全新的聊天理念:新一代开放式即时通讯娱乐平台。
朗玛UC也的确给了我们一种前所未有的聊天新感觉:网上聊天,也可以情景交融。
它采用自由变换场景、个性在线心情等人性化设计,配合视频电话、信息群发、文件互传、在线游戏等使您在聊天的同时能边说、边看、边玩。
“网易泡泡”是由中国的互联网技术公司网易(NetEase)开发的功能强大,方便灵活的即时通讯工具。
集即时聊天、手机短信、在线娱乐等功能于一体,除具备目前一般即时聊天工具的功能外,还拥有许多更加体贴用户需要的特色功能如邮件管理、自建聊天室、自设软件皮肤等。
但它的注册用户必须申请网易通行证或者是163邮箱的使用者才可以注册。
从目前流行的即时通讯软件都由各自的特点,但它们多是针对个人通讯,不太适合企业用户的使用。
总结即时通信最初只有发送即时文本信息等简单功能,此后陆续又具有文件传输、音视频聊天及网络游戏等更高级的功能。
历经十多年,即时通信正在向新一代的综合即时通信演进,即从文本向语音、视频和多媒体,从固定网络向无线移动,从个人通信向企业即时通信和协作演进。
随着计算机和通信技术快速发展,即时通信将提供的服务会更加丰富,网络虚拟社区将会普及,即时通信将更加凸显个人信息处理的能力,同时与社会文化和本地化应用将进一步深入融合。
随着即时通信标准及安全的完善和发展,即时通信有可能实现各个通信系统之间的统一接入。
另外,即时通信将会进一步整合有线和无线业务,继续扩大增值服务功能的范围,如果政策允许,即时通信软件甚至有可能与固话互通。
在安全方面,随着技术手段的不断突破,即时通信产品的安全性会进一步提高,稳定性日趋成熟。
参考文献[1] 刘丽,梁对.即时通信系统的设计与实现[C].通信指挥学院,2006,386-389.[2] 马丹,李毅超,杨国纬.即时通信系统中动态群组聊天的实现[J].,2006,(1):1672-4984,98-100.[3] 范汉生,尹建伟,董金祥.支持EAI基于JMS的企业级协同消息通信工具的实现[J].江南大学学报,2006,(1),18-21.[4] 代印唐,张世永.即时通信安全研究[J].电信科学,2006,(4),10-16.[5] 于成龙,曹三省,白堃,张鸥,李长波.基于即时通信动态配置的网络视音频互动业务平台[J].现代电视技术,2007,(6),102-104.[6] 章韵,姚子阳.IPv4和IPv6下的P2P即时通信[J].现代计算机,2006,(2),34-36.[7] 朱和平.即时通信研究综述[J].现代计算机,2006,(12),55-58.[8] 孙书梅.基于电子白板的即时通信系统的研究与实现[C]. 武汉理工大学,2006.[9] 吴兆俊,解海涛,盛步云,罗丹.一种基于Agent的即时通信软件互通解决方案[J].计算机应用与软件,2006,(9),98-100.[10] 张斌.即时通软件安全性分析与设计[J].计算机应用,2007,(S1),223-228.[11] 朱益飞,赵一鸣.基于身份的密码体制在即时通信协议中的应用[J].计算机应用与软件,2007,(5),163-165.[12] 刘培鹤,牛晓蕾,杜鹏,何文才,张媛媛.企业即时通信系统安全性分析与设计[J].网络安全技术与应用,2007,(2),59-61.[13] 孙玉钰.基于P2P网络的聊天系统的研发[J].长春大学学报,2006,(4),61-65.[14] 赵双红,刘寿强,潘春华.P2P通信网络安全问题探析[J].计算机安全,2003,(11),6-9.[15] 刘毅,金澎.即时通讯软件开发技术与实现[J].乐山师范学院学报,2005,(5),66-68.[16] 王大锋,刘在强,冯登国.P2P即时通讯软件监控系统的研究与实现[J].计算机工程与应用,2005 ,(10),128-139,144.[17] 丁静.基于Socket和消息队列的中后台接口通讯软件的设计[J].大连民族学院学报,2006,(13),65-68.[18] 张晓,王忠仁.一种基于CS和P2P混合结构的IM系统的设计与实现[J].成都信息工程学院学报,2006,(4),528-531.[19] 黄凯,陶宏才.即时通讯系统服务器端简要设计[J].成都信息工程学院学报,2006,(4),20-23.[20] 丁忠,刘志勤.多服务器分布式即时通讯系统模型的设计[J]. 微计算机信息,2006,(27),181-184.[21] 张祯,王海南.基于即时通信工具的远程访问控制系统及其实现[J].计算机应用研究,2005,(2),161-163.[22] 冯亚军,宋自林.基于XMPP协议的即时通信系统[J].军事通信技术,2005,(S1),36-40.[23] 李远杰,刘渭锋,张玉清,梁力.主流即时通软件通信协议分析[J].计算机应用研究,2005,(7),243-250.[24] 马丹.即时通信系统终端的设计与实现[C].电子科技大学,2005.[25] 李文志,申剑,卢方国,柳正青,王宏,陈建伟.在NET框架下开发一个即时通信系统[J].现代计算机,2004,(2).[26] 张文茂,章淼,毕军,覃征.互联网即时消息(Instant Messaging, IM)的研究现状与展望[C].北京:清华大学软件学院,清华大学信息网络工程研究中心.[27] 郑人杰,殷人昆,陶永雷.实用软件工程(第二版)[M].北京:清华大学出版社,1997.4.[28] 徐可,熊伟,袁和金.Visual C#.NET深入编程[M].北京希望电子出版社,2001.[29] 章立民研究室著.Visual C# 2005 程序开发与界面设计秘诀[M].北京:机械工业出版社,2006.9.[30] (美)布莱姆(Blum,R.)著,高春蓉等译.C#网络应用编程(原名:C# Network Programming)[M].北京:电子工业出版社,2003.5.[31] 潭献海等编著.网络编程技术及应用[M].北京:清华大学出版社,2006.12..[32] Sameer Patil,Alfred Kobsa.Instant Messaging and Privacy[J].Proceedings of HCI2004,Leeds,England.[33] Loy Rovers,Harm van Essen.Design and evaluation of Hapticons for enriched Instant Messaging[C].Designed Intelligence Group,Department of Industrial Design Eindhoven University of Technology,The Netherlands.。