论文部分内容阅读
早在20世纪60年代就已经有了虚拟化技术,当时主要使用在大容量的服务器上,IBM第一个使用这种特定的技术在服务器上增加了一个新的空间层,用于进行虚拟化。它具有不同于以往任何一款软硬件的功能,一方面能够主动获取软件应用层方面对其它层的请求,另一方面,它能够对这些请求进行新的阐述和更改,经过这两个协作后,共同达到提供一些新功能。随着相关技术的更新和硬件的发展,提供了很好的从大型服务器向个人电脑拓展的机会。虚拟化具有自身独有的特点,使用虚拟化,可以跨越平台的限制,为多种不同的硬件提供相关分享和多种服务,尤其是它能够为单独的PC使用者提供属于自己的个人计算服务空间;除此之外,虚拟化技术能够高效地利用服务器资源,通过对服务器进行虚拟化操作;同时,提供各个虚拟化空间的隔离性,使其之间不会相互干扰,提高各个系统操作的稳定性虚拟化技术的一个目标就是充分利用以前闲置的服务器资源,并高效的使用,使成本下降。其中主要是通过对服务器进行虚拟化,运行多个虚拟机,提供多层服务,比如说有些通信密集型软件服务,各个虚拟机间的通信频率就会提高。本文侧重于XEN虚拟机之间的通信信息安全,分析其特有的通信路径特点,通过在通信路径上不同的环节上对通信信息进行加解密处理,增强信息安全性XEN中两个不同的客户虚拟机需要通信,首先需要考虑两种情况:1、两台虚拟机在同一个物理主机上;2、两台虚拟机位于不同的物理主机上。对于第一种情况,消息首先会传输到虚拟机的前端驱动(front-end),然后再将信息传输到特权虚拟机的后端驱动(back-end),信息通过特权虚拟机的驱动模型(Driver Model)处理,回到特权虚拟机的后端驱动,继而转发到接受消息的客户虚拟机的前端驱动,消息到达目的虚拟机的应用层,完成一次通信。而第二种情况与第一种有所不同的是,消息到达特权虚拟机后,会通过它里面的原生网卡驱动送到真实的网卡中发送。同样的方式,另一台物理主机进行接受消息,最终抵达目的虚拟机。但是正如真实物理机进行通信一样,跨域虚拟机进行通信同样会受到信息被截获的威胁。为了有效地保障虚拟机通信信息安全,本论文立足于自身对虚拟化研究的基础上,结合虚拟机通信的特点,设计并实现了一个加解密模块,根据linux核心模块的特点,该模块采用netfilter钩子函数,在虚拟机通信路径上进行信息提取,并进行相应的加解密处理,整体上不仅对原有的代码的干扰尽量小,同时能够有效地提高通信安全度。最后,考虑到可能的模块处理带来的性能负担,论文做了一些方案进行试验分析,分别从延迟、CPU利用率等多个方面与未放置模块时进行对比。相关信息表明,增加相应的加解密模块后,虚拟机间进行通信时,对相关性能影响在可接受的范围之内。