标题 | 基于云计算的企业即时通信应用部署方案 |
范文 | 摘 要:移动互联时代,大部分第三方即时通信类软件使用者不能完全掌握聊天数据,易造成数据被分析等安全问题。针对企业级即时通信安全问题,提出一套利用云计算特性的即时通信系统。系统采用C/S模式,服务器部署在云端,能够使用户独立部署系统,做到服务器私有,数据信息加密保存,客户端包含移动端和桌面端,数据加密传输。通过常见攻击手段安全分析和系统性能分析,验证了系统安全性与可靠性。该系统已上线使用且运行良好。 关键词:即时通信;云计算;私有化部署;企业级应用 DOI:10. 11907/rjdk. 182559 开放科学(资源服务)标识码(OSID): 中图分类号:TP393 文献标识码:A 文章编号:1672-7800(2019)007-0177-05 Enterprise Instant Messaging Application Deployment Scheme Based on Cloud Computing SHAN Gang-ling,XU Xin (College of Communication Engineering,Hangzhou Dianzi University,Hangzhou 310018, China) Abstract: In the era of mobile Internet, cloud applications have become a trend. For the security of enterprise-level instant messaging tools, users of most third-party instant messaging software cannot fully grasp the chat data, which is likely to cause security problems such as data analysis. This paper proposes an instant messaging system that uses cloud computing capabilities. The system uses C/S mode and the server is deployed in the cloud. It enables users to deploy the system independently. The server is private and the data is saved with secrecy. The client includes the mobile device and the desktop, and encrypted data is transmitted safely. The security and reliability of the system are verified by the security analysis and performance analysis of common attack methods. The system is already in use and functioning properly. Key Words: instant messaging; cloud computing; privatization deployment; enterprise applications 基金项目:国防预研基金资助项目(GFZ17040406004) 作者简介:单港伶(1993-),男,杭州电子科技大学通信工程学院硕士研究生,研究方向为通信安全;徐欣(1975-),男,博士,杭州电子科技大学通信工程学院教授、硕士生导师,研究方向为通信安全、固态硬盘加密。 0 引言 移动互联时代,应用上云大势所趋。2006年Google、Amazon等公司提出了“云计算”构想[1]。根据美国国家标准与技术研究院(NIST)定义,云计算是一种利用互联网实现随时随地、按需求、便捷访问资源池(如计算设施、存储设备、应用程序等)的计算模式[2]。IBM公司提出云计算是继分布式计算、并行计算之后的一种新的互联网服务模式[3] 。据中国信息通信研究院调查显示,2017年全球公有云市场规模达到110亿美元,且将保持一个高速增长趋势[4]。社交网络、电子商务、智慧城市工业领域等新一代大规模互联网应用发展迅猛[5-7]。这些新兴应用具有数据存储量大、业务增长速度快、硬件性能伸缩性大等特点。传统服务器部署架构方式对于新的应用,无论是硬件基础设施配置,还是软件后期迭代开发、维护管理等方面都已经不能满足要求,而云计算具有动态部署、按需使用、弹性增长等特点,十分契合新兴应用。 即时通信软件(如微信)作为一种社交工作类应用软件,凭借其功能丰富、免费易用等特点成为人们沟通的主要方式,并从生活交流渗透到办公场景,容易造成标注密级的数据信息在该类软件上流转[8]。这些即时通信软件已经被证明存在极大的泄密风险,在大数据挖掘和分析日益智能化的时代,重要信息甚至机密信息泄露十分严重,需要一种安全的部署方式。 针对即时通信软件部署问题,宋昱等[9]提出一种高性能即时通信服务系统,介绍了一种大规模用户下降低延时部署方案;徐莉文等[10]提出了p2p即时通信系统,介绍了一种去中心化即时通信系统;赵向兵等[11]提出了Linux平台的即时通信系统,只涉及Linux系统;Manekar等[12]提出基于云的智能手机即时通讯系统,只涉及Android手机系统。这些方案并不能很好地满足企业用户需求,用户在企业场景下对去中心化需求不强,但对企业数据安全性有很高要求。因此,本文提出一种基于云计算特性的私有化部署方案,做到服务器被使用者完全掌握,数据加密存储和传输,多客户端多系統登录,并且成本低。 1 云计算 1.1 云计算系统特征 (1)弹性服务。云计算服务规模可快速伸缩,以适应业务负载的动态变化。用户使用的计算资源同业务需求相匹配,避免了因为服务器性能过剩导致资源浪费和性能过载时带来服务质量下降。 (2)支持虚拟化。计算资源(包括CPU、内存、硬盘)以共享资源池的方式统一管理。利用虚拟化技术,将资源分享给不同用户,提高了资源利用效率。当其中一个服务器过载时支持负载迁移。 (3)自治性。资源的放置、管理与分配策略对用户透明。云计算系统以服务的形式为用户提供应用程序、数据存储、基础设施等资源,使用者可以根据自身实际需求自动分配。 (4)服务可计费。监控用户资源使用量,并根据用户对计算资源的使用情况及性能时长对服务计费。 (5)接入广泛可靠。云计算系统保证向用户提供可靠服务。保障用户可以通过各种终端设备(例如智能手机、笔记本电脑等)随时随地通过因特网访问计算服务。 上述五大特性,使得云计算性能和计算资源能够被接入云计算网络的用户源源不断使用。云计算的易用性和灵活性,使计算资源变成了一种公共基础设施[14]。 1.2 云计算体系架构 云计算可以按照用户需求提供弹性资源,是一整套服务的集合。架构体系大致可以分为核心服务层、服务管理层以及用户访问接入层3个层次,其中最主要的是核心服务层,如图1所示。核心服务层将硬件基础设施、软件运行环境、应用程序抽象成各种服务,这些抽象服务具有可用性高、可伸缩性大、可靠性强等优点,满足日益多样化的服务要求[15]。 核心服务层一般被细分为3个子层:基础设施及服务层(IaaS,Infrastructure as a Service)、平台及服务层(PaaS,Platform as a Service)、软件及服务层(SaaS,Software as a Service)。 IaaS作为云的基础,由服务器、网络设施以及存储设备等物理设施组成,提供硬件基础设施部署服务,为用户按需提供實体或虚拟的计算、存储和网络等资源[16]。在IaaS层服务中,用户没有实际管理底层基础架构,IaaS服务提供商通过集中化规模基础架构,按用户所需灵活地为其提供基础设施资源。为了优化硬件资源分配使用,IaaS层引入虚拟化技术,借助于KVM等虚拟化工具,可以提供可靠性高、可定制性强、可扩展性大的IaaS层服务。 PaaS是云计算应用程序运行环境,提供应用程序部署与管理服务。NIST将其定义为开发者在云基础架构之上部署应用软件,这些软件使用了应用者支持的语言、库等。通过PaaS层软件工具和开发语言,应用程序开发者只需上传程序代码和数据即可使用服务,而不必关注底层网络、存储、操作系统的管理问题 [17]。 SaaS是基于云计算基础平台开发的应用程序,是一种新兴软件模式,将软件部署作为服务,通过Internet进行访问 [18]。企业可以通过租用SaaS服务解决企业信息化问题,不必考虑服务器管理、维护问题。对于个人用户,SaaS服务将桌面应用程序迁移到互联网,使用者根据订购服务的多少和使用时间长短,向服务提供商支付费用。 2 部署方案 随着云计算时代来临,国内不少公司推出了云计算服务,比如阿里云、华为云等。在过去几年中,SaaS开始普及,人们想要获取计算资源,又不想自己亲自构建相关设施,SaaS将IT部门从繁重的现场物理部署工作中解放出来。 通过表1不难看出两者的优劣势,SaaS部署不管是在维护、人员要求、资金投入上都优于本地化部署。但是,在在企业级应用中,安全性是许多公司和研究机构最为关注的云端应用问题,很多公司坚持本地部署就是因为他们觉得本地部署的安全系数更高。不过,总体来讲,随着技术与安全措施的更新迭代,顾客对于云特别是公有云的信任正在提升。 表1 SaaS与本地部署特性比较 [SaaS特性主要表现\&本地化特性主要表现\&按需定制,可以更加自由灵活选择模块,进行备份,维护,升级 不需要额外增加专业IT人员,降低技术人员门槛 付费方式分期,解决一次性投入的资金压力 服务收费方式风险小,一般是先付款后使用\&专业化定制,客户根据自己的需求定制一个全新匹配的服务器系统 需要投入一定的技术人员,资金硬件,基础投入较大 更新升级成本相对较高 客户需要自己负责验证工作。由于全面控制环境,相比SaaS,实施监管更容易\&] 该方案可以租用云服务,将即时通信服务部署在云服务器的虚拟机上,对放置在云端的数据进行安全加密。通过该服务,用户使用移动端或者桌面端APP实现端到端加密的即时聊天通信。服务器架构如图2所示。 图2 服务器部署架构 服务器系统按照物理部署划分可分为 IM 服务器、Storage Server服务器、Media Server服务器3部分。APP与各个服务器以及服务器之间的关系如图3所示。 图3 服务器关系 其中,IM服务包含发现服务、安全服务、业务服务3项服务。发现服务由Discovery Server完成,管理和监控其它服务器实例,维护和更新状态及负载信息。安全服务由APP Server 、IM Server、Key Management Server组成,提供诸如注册、APP防伪、密钥存储等安全服务。业务服务由APP服务器、IM服务器、数据库服务器等实例服务器组合协同提供例如用户管理、组群管理、即时消息收发、语音通话等服务。IM服务部署在云服务器上。 采用该部署方式的优势有两点:一是无需考虑物理服务器购买、部署、维护等传统部署方式,所有服务通过Web端管理,APP承载通信服务;二是部署快捷,相对传统服务器本地化部署,可实现数小时内部署完毕。 3 架构流程 服务器后台通信流程如图4所示。 图4 服务器后台通信流程 (1)服务器查询。APP通过输入服务器地址或域名端口的Discover服务接口,Discover服务收集配置文件中的相应组件和服务器自身信息返回给APP,传输过程中使用http/https协议,保障通信安全(见图5)。 [discover-server][APP] [http/https协议] 图5 服务器查询流程 (2)注册。APP或运维管理平台访问asim-server注册接口,aism-server服务访问Openfire注册接口,Openfire返回结果消息。注册成功后,用户信息将存入数据库(见图6)。 [APP] [APP] [asim-server] [http/https协议] [http协议][Openfire] [Postgresql] 图6 注册流程 (3)登录/聊天。APP登录以及聊天功能都是通过Discover服务所提供的服务器信息,APP直连Openfire,通过Openfire组件实现登录以及聊天功能(见图7)。 [Openfire][APP] [Xmpp协议] 图7 登录/聊天流程 (4)文件下载。APP携带下载文件的fid访问Appserver文件下载接口,Appserver进行校验之后访问seaweedfs接口,找到该fid在seaweedfs中的地址,并根据配置中的信息生成一个文件下载URL返回给APP,APP拿到URL之后访问Kong服务,Kong通过反向代理seaweedfs的文件存储地址进行数据下载,最终数据返回给APP(见图8)。 [APP] [Kong] [asim-server] [鉴权] [seaweedfs] [鉴权] 图8 文件下载流程 (5)文件上传。APP通过访问Openfire的上传接口,Openfire再访问seaweedfs接口,将生成一个携带地址及fid的json数据,根据配置转换成上传的URL及fid给到APP,APP訪问Kong服务进行文件上传(见图9)。 [APP] [Kong] [Openfire] [xmpp协议] [seaweedfs] [鉴权][容量判断] 图9 文件上传流程 (6)语音通话。APP1连接Opensips服务,通过opensips服务给APP2发起通话请求,请求通过后由opensips建立起APP1与APP2的点对点交互,由media-proxy服务做一个NAT穿透进行数据流传输(见图10)。 [Opensips][APP1] [Media-proxy] [APP2] 图10 语音通话流程 (7)音视频会议。APP通过固定端口连接Openmcu服务,发起音视频会议请求,Openmcu接受请求之后建立组内多线交互,给其它APP发起通话确认。 [Openmcu][APP] [Turnserver] [APP] [APP] [APP] 图11 音视频会议流程 4 安全分析 根据上文对该方案的阐述,对主流和常见的漏洞与攻击手段进行逐一分析,以此评估该即时通信方案的总体安全性等级。 4.1 前向安全 前向安全是安全体系中最重要的一个要素,即当前已经加密生成的密文,在未来某个时刻由于原始派生密文加密钥的私钥失窃而被泄露,要保证即使当前签名密钥丢失,先前签名的安全性也有效[19]。只有严格做到这一点,才能称之为完美前向安全(Perfect Forward Secrecy)。 该即时通信方案中,采用基于ECDH滚动更新和Hash滚动更新两条密钥链组合,因为 Hash 滚动更新的单向不可逆特点,可以满足前向安全性。原始用户私钥和公钥,会根据派生密钥的数量和时间进行定期作废更新,这样的更新机制确保了即使私钥丢失也只会影响未更新前少量密文数据,后续可通过私钥和公钥的动态更新完成自愈。 4.2 重放攻击 重放攻击是目前最基本、最常用和危害性最大的一种攻击认证协议手段[20]。攻击者通过sniffer等窃听手段获取到之前曾经成功交互的数据报文后,在后续某一时刻重新发送一次该协议报文,企图伪造当时现场进而成功通过某些系统认证或达到其它目的。 该即时通信方案中,在构造加密消息帧时,增加message sequence number标识消息序号,每条消息依次递增;对于接收方,如果收到重复的消息序号,则表示该消息可能是网络问题导致的重传,或者是非法重放攻击报文,需直接丢弃该消息,以此防御。 4.3 中间人攻击 中间人攻击(Man-In-the-Middle Attacks,MItM)是一种间接攻击模式,通过各种技术手段将攻击者控制的计算机虚拟放置在网络连接的两台通信计算机之间,攻击者与原始计算机建立连接,并允许其读取或者修改传递的信息,而两个原始计算机用户确认为他们在互相通信,是目前网络上针对公钥加密体系的主要攻击隐患[21]。 该方案中,主要是防止MItM渗透导致用户从中间人那里获取到虚假的好友公钥。针对这一点,在服务器上保存好友的公钥时,使用服务器的私钥签名,客户端在访问服务器获取到公钥信息后,重新从安全服务器通过非HTTPS通道获取服务器证书,验证签名的合法性,进而判断公钥的真伪。 5 性能分析 部署完服务器之后,对服务器与APP进行性能测试,在移动端和桌面端安装APP。桌面端配置CPU为Intel(R)core(TM)i5-7200 2.5GHz,操作系统为Windows10家庭中文版,RAM为8GB,ROM为250GB。手机端配置CPU为苹果A9处理器1.8GHz,操作系统为苹果IOS12系统,内存为2GB,ROM为64GB。在运维管理平台创建100个账号(包含头像等信息),供测试时使用。桌面端和移动端通过APP登录,创建两个标准账号,每个标准账号包含20个好友,2个群组组员共计50人。关键流程处理时延如表2。 表2 关键流程处理时延 从测试性能来看,该系统能够满足正常使用。 6 结语 随着移动互联网高速发展,智能手机在人们工作生活中作用越来越突出,即时聊天工具伴随智能手机更加高效、方便。本文着眼于企业员工之间沟通聊天工具的信息安全,提出了基于云计算的即时通信部署方案,旨在从源头上防止公司数据不被第三方窃取。目前大部分即时聊天APP都会将数据保存在第三方服务器上,数据安全性全靠第三方企业的道德保护,约束力几乎为零。 企业通过云计算部署即时通信服务器,顺应了科技发展趋势——应用上云。对于企业而言,即时聊天工具所需服务器性能可随使用人数、使用频次,即时作出动态调整,特别是当应用需要升级时,硬件性能可实现平滑过渡,是相较于本地部署方式的最大优点。 参考文献: [1] 丘群业. 企业私有云计算基础架构研究与设计[D]. 广州:华南理工大学,2012. [2] MELL P, GRANCE T. Sp 800-145. The NIST definition of cloud computing[M]. Gaithersburg:National Institute of Standards and Technology, 2011. [3] 刘玮,王丽宏. 云计算应用及其安全问题研究[J]. 计算机研究与发展,2012,49(S2):186-191. [4] 中国信息通信研究院. 云计算发展白皮书(2018)[EB/OL]. http://www.caict.ac.cn/kxyj/qwfb/bps/201808/t20180813_181718.htm. [5] 涂伟,甘丽新,蒋科蔚,等. 基于云计算模式的电子商务安全研究[J]. 商业时代,2010(36):31+54. [6] 高鹏宣,薛丹,王晓. 云计算及物联网技术在智慧城市中的应用[J]. 电子技术与软件工程,2018(18):1. [7] 徐泉,王良勇,刘长鑫. 工业云应用与技术综述[J]. 计算机集成制造系统,2018,24(8):1887-1901. [8] 白晓飞. 基于企业视角的微信应用现状分析与对策研究[J]. 中国新通信,2018,20(7):85. [9] 宋昱. 一种高性能即时通讯服务系统的设计[J]. 软件,2016,37(12):180-183. [10] 徐文莉,熊燕,李燕. P2P即时通信系统关键技术研究及应用[J]. 软件导刊,2017,16(9):151-153+157. [11] 赵向兵,张景安. Linux平台即时通信系统的研究与开发[J]. 软件,2017,38(2):23-27. [12] MANEKAR S,BORKAR P,HIRWANI V. A review on instant messaging system based on cloud for smart phone[C]. 2017 International Conference on Inventive Systems and Control (ICISC),2017:1-5. [13] 张建勋,古志民,郑超. 云计算研究进展综述[J]. 計算机应用研究,2010,27(2):429-433. [14] 罗军舟,金嘉晖,宋爱波,等. 云计算:体系架构与关键技术[J]. 通信学报,2011,32(7):3-21. [15] 吕思思,焦金金,祁建松,等. 云服务在高校实验教学系统建设中的应用[J]. 软件导刊,2016,15(8):197-200. [16] 刘欢欢,麻志毅,陈泓婕. 基于PaaS的云应用软件部署环境的元模型[J]. 计算机科学,2015,42(10):45-49+80. [17] 陆慧娟,安春霖,程倬,等. 基于SaaS和CSCW的车货匹配系统研究与应用[J]. 华中科技大学学报:自然科学版,2012,40(S1):324-327. [18] 甄平,赵耿,闵乐泉,等. 一种基于身份的前向安全数字签名方案[J]. 计算机应用与软件,2015,32(11):289-292. [19] 王正才,杨世平. 抗重放攻击认证协议的设计原则和方法研究[J]. 计算机工程与设计,2008(20):5163-5165+5170. [20] 贾静,薛质. SSL中间人攻击原理与防范[J]. 信息安全与通信保密,2007(4):103-105. (责任编辑:何丽) |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。