《虚拟机异地在线迁移安全通信机制关键技术研究.doc》由会员分享,可在线阅读,更多相关《虚拟机异地在线迁移安全通信机制关键技术研究.doc(12页珍藏版)》请在三一办公上搜索。
1、虚拟机异地在线迁移安全通信机制关键技术研究Research of Secure Communication Mechanism for the Off-site Live Virtual Machine Migration 摘 要:在企业云计算平台部署的虚拟机中需要进行远程异地在线迁移通信,因为带宽和广域网安全防护的因素会导致延迟、无法穿透或安全性不够,通信过程中容易被假冒、窃取和重放攻击,需要新的迁移结构和通信机制,以保证迁移的安全可靠地进行。本文面向保密性、完整性和穿透性需求,设计了一种异地迁移体系结构,提出了一种新的底层安全通信协议SUDP,讨论了认证和消息传递的安全性。关键词:云计算;
2、虚拟机;异地迁移;在线迁移;SUDP;安全通信机制 Abstract. The virtual machines of cloud computing platform deployed in the enterprise need remote off-site live migration, but the bandwidth and WAN security factors could cause communication delay and can not penetrate the firewalls two-way, at the same system has the shor
3、tcomings of counterfeiting and vulnerable during communication, so we need a new structure and the communication mechanism of live migration to ensure migration safe and reliable. This paper designs the off-site live migration structure for confidentiality, integrity and penetration requirements, an
4、d puts forward a new secure communications protocol underlying SUDP to discuss the authentication and messaging security. Key words: Cloud computing; Virtual machine; Live virtual machine migration; Off-site migration; SUDP; Secure communication mechanism.1 引言在企业云计算平台部署的虚拟机中需要进行远程在线迁移通信,特别是具有异地双备份的服
5、务器,此时因为带宽和广域网安全防护的因素,需要有新的迁移框架结构和重新考虑迁移通信机制,以保证迁移的安全可靠地进行,特别是穿透防火墙的能力。目前虚拟机的在线迁移主要是考虑本地局域网环境1-2,没有考虑企业集中异地远程灾备的环境,该环境由于广域网和灾备的特殊性,一是要求高的通讯速度,延迟小,目前的面向连接的TCP协议不能满足要求;二是要求通信能随时双向穿透广域网防护体系例如防火墙,面向连接的TCP协议不能随时双向穿透防火墙,这是致命的弱点;三是要考虑安全要素,需要对通信的各方进行认证,不能存在伪冒、窃取并能防范攻击;最后,要考虑灾备要素,目前的迁移框架结构大多考虑的是单一迁移管理中心,一旦该迁移
6、管理中心失效,整个迁移将会失效,因此,在异地远程将会有备份迁移管理中心,可以互为备份,同时可以管理本地的虚拟机。综上考虑,本文首先提出了主从异地迁移管理中心迁移框架结构,讨论了该框架透过广域网络的通信机制和传输过程中防范假冒、窃取、重放攻击的身份认证机制,这对企业云计算环境的安全部署具有重要指导意义。2 迁移管理系统结构图1描述了异地远程虚拟机在线迁移的系统结构。基于异地的虚拟机在线迁移是由主从迁移管理中心(Migration Management Center, MMC)和由各服务器上的本地认证迁移代理(Migration Agent, MA)和系统监视代理(System Monitor A
7、gent, SMA)组成的。图1 虚拟机异地远程迁移系统结构2.1 工作原理MA与SMA都与MMC进行通信获取相应的策略,服务器上的SMA获取本地服务器上 CPU、内存和网络带宽等资源的使用情况并向MMC提供本地资源使用情况,MA接收MMC发出的迁移命令并进行实际的迁移操作。在虚拟环境中,VMM 负责对各虚拟机进行调度,可以截获虚拟设备的各项操作以及相关的参数,SMA正是通过VMM获取相应的参数并周期性地向MMC发出请求各独立节点上的资源使用情况。SMA获取资源可以表示为S=S_Cpu,S_Mem,S_Net,其中,S_Cpu为虚拟机的 CPU 使用率,S_Mem是虚拟机的内存使用情况,S_N
8、et是虚拟机的网络流量。MMC从整体上掌握云计算平台中物理资源的使用情况,根据预设策略,按需发起虚拟机动态迁移操作,实现平台范围内的负载均衡。MMC主要控制MA和SMA,分别有对应的管理模块。MMC通过SMA获取服务器和虚拟机对于 CPU、内存和网络带宽的使用情况S,确定是否发起以及如何发起虚拟机的动态迁移操作。发起虚拟机的动态操作,主要是虚拟机的服务等级协议(Service Level Agreement, SLA)不能被满足,例如S_NetUp, Up预定的CPU使用率;S_Mem物理服务器频繁发生内存换出。 2.2 通信关系 迁移管理中心和代理之间需要协作完成迁移任务,通信是实现Agen
9、t合作的必不可少的基本条件。通信的安全问题主要反映在MMC与Agent之间、各Agent之间的消息和数据传递。MMC由于异地进行迁移,MMC主从之间还需要进行数据和指令同步,以保证异地迁移成功。从安全上考虑,必须对Agent进行认证,MMC向Agent发送认证信息,证明目前Agent运行的合法性。Agent与MMC通信,主要有:Agent向MMC发送注册信息;Agent与MMC时间同步;Agent策略与MMC中相应的策略保持一致性;Agent向MMC发送日志信息和告警信息;MMC向各Agent发送认证信息;MMC向各Agent发送消息,例如动作消息等;MMC之间的数据同步。因此,各Agent与
10、MMC以及MMC间需要相互进行通信,保持策略数据的同步性,以及相应的消息传递,这将涉及异地虚拟机迁移安全通信机制的建立。为了保证MMC、Agent之间的数据传输采用了DES的加密和解密算法,DES相对于以后提出的非对称密码体制设想使用广泛的多。3 通信机制Agent通信语言3作为研究Agent和MMC之间通信的一个重要内容,涉及通信语言的定义、表示、处理和语义解释4。KQML是目前应用得最多的ACL,它是一种接口库,并不是编译和解释型语言,程序员仍需提供代码处理每一通信原语,更重要的是,KQML没有考虑安全通信的要求,不适合于网络安全系统的应用,虽然有学者在KQML原语的基础上对其进行了安全通
11、信方面的扩充,但他们仅仅依据公开密钥体制提供了安全通信模型,并没有具体实现与应用5-6。3.1 SUDP协议及其特点一般而言,Agent通信从实现的底层角度上看可采用二进制流的socket通信,从高层角度上看可采用RPC远程过程调用的抽取机制7。本文吸收保密通信的一般技术,结合Agent在安全领域的特殊应用,构建了一种采用基于UDP协议作为消息、代码、数据传递的安全底层通信构架,本文称之为SUDP(Safe UDP)协议。在标准的TCP/IP协议中,UDP比TCP发送速度快得多,程序实现也较为简单,缺点就是容易丢包,而且不能自动重发也不能自动组包没有数据安全机制,发包大小不能超过2K,否则就出
12、错。在复杂的网络通信环境中,可能需要发送大量数据包(例如,策略数据的复制)并且需要保证速度,而且这些重要的数据不允许丢失,这就需要SUDP协议。相对TCP而言,首先,在网络中,有可能需要跨越防火墙,TCP无法很好的穿透NAT,来进行点对点通信。其次,通信过程中需要某些重要的消息不丢失,TCP需要首先建立连接,每个包都需要确认,这样发送速度会慢不少。因此,采用SUDP发送任意大小包,可以保证某些重要的包不会丢失,并且可以轻松穿透NAT来进行点对点通信。SUDP具有以下特点:1) 自动分包组包;2) 支持一次性发送任意大小的包;3) 支持安全控制(支持AMP消息通信协议);4) 根据丢包率和网速度
13、动态控制发包速度。因此,消息通信的底层协议主要基于SUDP,在该协议之上还可以自定义其它的协议。其实现流程如图2。3.2消息传递体系结构各Agent有时需要直接进行交互,但是主要涉及到消息的通知,发生量较少,如MMC通知迁移Agent消息,大量的通信还是与MMC间发生直接通信,这与黑板的求解模型类似。Agent间的通信借助黑板,首先从黑板获得相应的身份认证,使得Agent间产生相互联系,这里的黑板可以认为就是MMC。系统监视与迁移十分类似于黑板模型,借助MMC黑板能更好地完成系统监视Agent与迁移Agent间的协调任务,提升Agent的通信质量8。消息传递结构,本质是基于socket的通信,
14、如图2,SUDP的实现就是基于Socket的通信,Socket()是套接字函数,Bind()将端口绑定到该套接字上,然后激活侦听Listen(),Accept()接受数据,Read()和Write()相应地在缓冲区读写数据,Connect()是连接服务器的端口。系统中各组件、Agent间采用消息进行通信,它是实现灵活复杂的协调策略的基础,总之,采用的类黑板系统不仅需要对各类节点进行监控,而且反映了问题求解的中间状态及各类Agent之间传递信息的中介。其间,Agent在网络中是否存在,其身份是否被授权,都是以MMC黑板为调度者,以网络消息的形式来表现。图2 Socket的消息传递流程4 Agen
15、t的身份认证4.1 Agent的身份认证体系本文利用对称密码体系,即共享的密钥保证Agent间的安全通信。其中,每个Agent和MMC间都必须相互通信,涉及到通信保密保密问题,MMC任何识别Agent是合法的,在传输过程中,又如何能保证共享密钥的安全性。定义1:注册码是Agent向MMC发起连接请求,MMC随机分配一个字符串的数值M;该注册码只在本次连接会话中有效,下次如果重新连接将导致新的会话产生,因此,注册码可以作为过程本身相关联的密钥。定义2:每一个Agent都有自己固定的ID号,Agent的ID号和注册码M、IP地址、Mac地址、硬盘ID号有关,记作Agent_Id。表达式为:Agen
16、t_Id=M|IP|MAC|HD_Id。定义3:Agent与MMC共享的密钥为注册码M、IP地址、硬盘ID号的Hash值,即K=GetHash(Agent_Id)。假设1:注册码M是具有128位的随机字符串,不会被穷举得到。命题1:网络中分布的所有Agent在不同的域中具有不同的注册码和不同的Agent_Id,即具有唯一性,该唯一性一是由随机字符串M和随机硬盘ID决定的。定义1反映出通信实体之间的区别,Agent必须为每一次会话产生一个会话密钥,该密钥仅用于加密传输数据,而不能参与Agent身份认证,并且在会话结束后被丢弃。定义3保证了Agent所拥有密钥的私密性。假设1是分布式Agent安全
17、通信的前提和基础,足够长的注册码确保穷举攻击获取密码几乎是不可能的。命题1用以标志Agent的唯一性,可以通过Agent登记、注册、注销等方式记录、检测和管理Agent。若Agent和MMC通信,并和其它Agent通信,协作完成安全任务,必须首先进行认证。本文采用授权验证认证方式,该方式简便易行,有利于系统的推广,Agent首先向MMC申请注册,在MMC控制台由管理员人工授权,该Agent获取一个注册码M,并存储在内存中。但是,该方法的弱点是:服务器端存放的注册码一旦被盗窃,则系统中所有用户的口令均不安全;不能抵抗重放攻击9-11,攻击者可以中途截获注册码信息,以后使用注册码冒充合法Agent
18、进行MMC验证请求,从而给系统安全带来威胁。MMC不直接存储用户的明文Agent_Id,而是存储Agent_Id单向Hash函数值,可以解决第一个弱点11-12 ,MMC根据M以及发送的相应的硬件信息生成Hash数字KAgent存放在MMC用户库中。4.2 C-R认证Agent在有限信任的生命周期中,与MMC通信,必须进行认证。MMC为了对运行中的Agent进行不定时的认证,认证方式采用简单的“挑战一应答”(Challenge-Response)的方式,通过三次握手对被认证对象的身份进行周期性的认证,这是PPP CHAP协议一般采用的认证方式。本文吸收该认证方式的特点,见图3。图3 C-R认证
19、方式MMC向Agent发送递增改变的标识符和一个挑战消息,挑战消息一般为随机数;Agent向MMC发回一个响应,该响应由hash函数计算得出,hash函数的输入参数由本次认证的标识符、密钥和挑战消息构成;MMC将收到的响应与自己根据认证标识符、密钥和挑战消息计算出的hash函数值进行比较。若相符则认证通过,向Agent发送“成功”消息;否则发送“失败”消息,切断对该Agent的服务。认证过程中,传输的内容经过hash函数,如MD5算法加密,网络侦听无法获取密钥明文。另外,由于MMC每次选取的随机数Challenge不同,hacker即使侦听原先的传输内容进行重放攻击,也是无法通过认证的。图3中
20、递增改变的标识符为MMC的主机时间,该时间用以同步客户端的主机时间,本质是为了解决通信中的重放攻击。4.3复杂C-R认证图4 复杂C-R认证方式复杂的认证方式用来解决Agent对MMC的认证。其流程如图4所示,描述如下:MMC向Agent发送消息:“DES(rs, k)”。其中,k由“K=MD5(Agent_ID)”合并,DES为对称加密算法。Agent根据Agent_Id可以对“DES(rs, k)”解密,然后计算出rs;Agent向MMC发回一个响应:“MD5(rc), DES(rs|rc, k)”。其中,消息的前半部分为Agent产生的随机数rc的hash值,rs与rc合并后以k加密;只
21、有MMC的Agent用户基本规则库中保留有k值,在接收到Agent的响应后认证中心进行解密验证。若rs值符合,则解决了MMC信任Agent的问题,之后向Agent发送消息:“DES(rc|ts|LoginState, k)”;只有拥有正确密钥的Agent可以对“DES(rc|ts|LoginState, k)”解密,然后验证rc。若相符,则证明Agent信任MMC,然后调整相应的LoginState,并将主机时间调整为MMC的时间ts,完成一个信任周期的校验。通过改进的流程,解决了Agent与MMC的双向认证,可以阻止hacker发起的网络侦听攻击、重放攻击和中间人攻击。对于一个过于简单的网络
22、通信协议,一般很容易遭受重放攻击,只要获得交互协议的加密消息,hacker就可以获取对话13-14,并且伪造IP地址信息就可以向对方发送信息,对方将被蒙骗。一般而言,为了抵抗该攻击,运用了Needham-Schroeder协议15,对密钥交互协议增加了认证,可以确保交互协议不被窃取。5 结束语 本文提出的云计算平台部署上的异地在线虚拟机迁移的框架结构对实现企业异地灾备的虚拟机负载平衡是一种很好的方案,并对解决现实中存在通信延迟和安全通信问题也作出了探讨,下一步需要在开源虚拟化软件Xen VMM和KVM上作进一步的测试和优化。参考文献1 FEI MA, FENG LIU, ZHEN LIU. L
23、ive virtual machine migration based on improved pre-copy approachC. Software Engineering and Service Sciences (ICSESS), 2010 IEEE International Conference on, July,2010:230-233.2 HAI JIN, LI DENG, SONG WU, et al. Live virtual machine migration with adaptive, memory compressionC. Cluster Computing an
24、d Workshops, 2009. CLUSTER 09. IEEE International Conference on, Sept.,2009:1-10.3 RAFAEL H.BORDINI,MEHDI D., et al. Current issues in multi-agent systemsC. ESAW06 Proceedings of the 7th international conference on Engineering societies in the agents world VII, 2007,pp38-614 FININ, T., WEBER, J, et
25、al. Draft Specification of the KQML Agent-Communication LanguageR. June 15, 19935 CHELLIAH THIRUNAVUKKARASUY, TIM FININ, JAMES MAYFIELD. Secret Agents-A Security Architecture for the KQML Agent Communication LanguageR. Draft submitted to the CIKM95 Intelligent Information Agents Workshop, Baltimore,
26、 December 19956 WONG, H. C., K. SYCARA. Adding security and trust to multi-Agent systemsR. Proc. Autonomous Agents99 workshop on deception, fraud and trust in Agent societies, 1999, pp.146-1617 MANVI, S.S., VENKATARAM, P. Applications of Agent technology in communications: a reviewJ. Computer Commun
27、ications, 2004, 27(15): 1493-15088 JIANG, Y.C., XIA, Z.Y., ZHONG, Y.P., ZHANG, S.Y. An adaptive adjusting mechanism for Agent distributed blackboard architectureJ. Microprocessors and Microsystems, 2005, 29(1): 9-209 R.E.LENNON, S.M.MATYAS. Cryptographic authentication of time invariant quantitiesJ.
28、 IEEE Trans. Comm., 1981, 29(6): 773-77710 EVANS, W. KANTROWITZ. A user authentication scheme for requiring secrecy in the computerJ. Comm. ACM, 1974, 17(8): 437-44211 PRIES,R.,WEI YU, et al. A new replay attack against anonymous communication networksC.Communications,2008.ICC08 IEEE International C
29、onference on, 2008,pp1578-158212 R. GIUSEPPE, I. ANTONIO, P. SERGIO. 802.11-Based Wireless-LAN and UMTS interworking: requirements, proposed solutions and open issuesJ. Computer Networks, 2005, 47(2): 151-16613 OTWAY, O. REES. Efficient and Timely Mutual AuthenticationJ. Operating Systems Review, 1987, 21(1): 8-1014 R. NEEDHAM, M. SCHROEDER. Using Encryption for Authentication in Large Networks of ComputersJ. Communications of the ACM, 1978, 21(12): 993-99915 DENNING, G. SACCO. Timestamps in Key Distribution ProtocolsJ. Communicaitons of the CACM, 1981, 24(8): 533-536