云计算中的虚拟化技术与虚拟化安全
扫描二维码
随时随地手机看文章
引 言
近年来,云计算的应用范围越来越广泛,并正在逐渐取代传统的计算模式,成为各大互联网公司争相发展的核心技术。虚拟化技术是云计算的核心技术之一,云计算服务提供商通过虚拟化软件将硬件资源虚拟化为巨大的动态的资源池, 动态的、按需分配的为用户提供计算资源。虚拟化技术是云计算较传统计算模式最显著的特点,同时,虚拟化技术带来的安全问题也是传统计算模式所不具有的,是云计算安全特有的核心问题 [1]。目前对于虚拟化安全的研究,主要集中在虚拟机隔离,虚拟机渗透,和虚拟机迁移等方面。可以采用的安全措施有访问控制,构造可信链和对用户数据和传输的信令进行加密等。目前,云服务提供商使用传统的数据加密算法对用户存储在云中的数据进行加密。由于传统的数据加密算法不能对密文直接进行操作,必须先将密文解密,再对明文进行操作,之后对结果进行加密,因此产生了潜在的明文数据泄露风险[2]。本文提出使用同态加密算法对用户数据进行加密操作。同态加密算法是近年来密码学中研究的热点之一,同态加密算法可以实现在不对密文进行解密的前提下,直接对密文进行相关操作,操作结果与对明文进行解密再进行相同操作并对结果进行加密的最终输出一致。同态加密算法保证了用户数据安全性的同时,由于省去了解密和加密的操作,提高了云存储中的大数据的处理效率[3]。
1 虚拟化技术
云计算使用虚拟化技术在服务器的硬件资源与用户之间
加设虚拟化层,虚拟化层负责与用户进行交互,并调用底层所有的硬件设备及计算资源。云计算的虚拟化模型如图 1 所示。
用户通过租赁云平台中的虚拟机来获得云服务提供商的服务,而虚拟化层负责用户虚拟机的创建,销毁,迁移等操作。目前主流的虚拟化架构包括裸金属架构和寄居架构[4]。裸金属架构如图 2 所示。
在裸金属架构下,不需要为服务器预装操作系统,虚拟化软件直接部署在服务器的硬件资源上,虚拟机管理器VMM(VirtualMachineMonitor)负责从实际的物理资源到虚拟资源的映射操作,VMM负责为用户分配虚拟机。当用户请求访问物理资源时,VMM将对这些请求进行处理,并对相应的信令进行模拟,之后操作底层的硬件设备,并将结果返回给用户。目前,裸金属虚拟化架构的实现方式包括硬件辅助的完全虚拟化和软件辅助的完全虚拟化以及半虚拟化架构。硬件辅助的完全虚拟化架构必须对服务器的CPU进行修改,使新的处理器可以理解虚拟化信令,并对信令进行处理,最后将处理结果通过异常的方式返回给VMM。硬件辅助的完全虚拟化架构的典型代表是Intel Virtualization Technology(VT-x),Microsoft的Hyper-V技术和 AMD的 AMD-V技术。软件辅助的完全虚拟化架构不需要对服务器的处理器进行修改,但是VMM 必须对所有指令进行处理,将指令进行动态翻译,从而实现对硬件资源的操作,这种虚拟化架构的执行效率低下,指令转换引擎的工作效率对性能的影响很大。软件辅助的完全虚拟化的典型代表是VMware ESX Server,VMware Station 和Microsoft 的Virtual Server 等。完全虚拟化架构不需要对用户操作系统做任何更改,所有指令转换都由VMM 或更改后的处理器完成,性能较差。与其相对应的虚拟化架构是半虚拟化架构,半虚拟化架构通过修改用户操作系统的内核,将不能够进行虚拟化的信令进行更改以实现客户操作系统与虚拟化平台的兼容性,半虚拟化架构的性能优越,是目前各互联网公司主要发展的虚拟化技术[5]。半虚拟化技术的典型代表是Xen。
2 虚拟化安全
用户通过租赁虚拟机来获得云服务提供的计算资源,虚拟化层直接与用户进行交互,并对底层的硬件资源进行调用。因此,虚拟化安全是云计算安全的核心问题。目前,虚拟环境中主要存在以下几种攻击方式。
(1) 对管理虚拟机的攻击,由于管理虚拟机负责所有用户虚拟机的创建,删除,移植等操作,并且对于用户虚拟机具有最高的管理权限,因此一旦管理虚拟机被攻破,则所有的用户数据都将完全暴露给攻击者。对于管理虚拟机的攻击被公认为虚拟环境中最严重的攻击,也是攻击者首选的攻击方式。
(2) 虚拟机之间的攻击,攻击者可能会通过一台虚拟机来获取另一台虚拟机的访问权限,从而监控另一台虚拟机的网络流量等参数,或者对其配置文件进行修改,访问其敏感数据, 使其强制离线等。
(3) Dos攻击,由于所有用户的虚拟资源都来自于服务器的硬件资源,因此 Dos(DenialOfService)攻击可以被加入到虚拟环境中,从而造成可以使用的资源紧缺,造成虚拟环境无法响应用户的正常资源请求[6]。
(4) 虚拟机移植攻击,由于用户的虚拟机是被动态创建出来为用户提供特定服务的,当服务结束或用户申请离线后, 该虚拟机将被销毁,其对应的真实物理资源将被分配给之后请求资源的用户。由于先前的用户的操作会在此物理资源上留下痕迹,攻击者有可能通过获取此痕迹来获取用户操作特性或用户数据占用空间大小等参数,从而进一步分析获取用户敏感数据[7]。
目前对于云计算的虚拟化安全的防护措施主要从以下几个方面来实施:
(1) 访问控制 :通过制定严格的访问控制策略,以保证用户不能访问超出自己权限的文件,从而实现对敏感数据的保护[8]。
(2) 构造可信链 :通过在云服务器中添加硬件可信模块的手段,构造可信链,从而保证虚拟服务器认证的安全性[9]。
(3) 数据加密 :寻求更加高效安全的数据加密算法,对用户存储于云端的数据进行加密,保证只有秘钥的持有者才可以访问加密数据。从而保障用户数据的隐私性与安全性。
3 同态加密算法
由于云平台中存储着海量的用户数据,并且对数据的操作及其频繁,传统的加密算法需要对数据进行解密之后才能进行相应操作,产生了安全风险的同时,降低了云计算的操作效率。同态加密算法可以实现对密文直接进行操作,操作结果与对密文先解密再进行操作最后将结果进行加密的最终输出一致。因此,同态加密算法非常适合作为对云存储中的用户数据的加密算法,既保证了用户数据始终处于加密状态,增强了数据安全性,同时由于省去了加密解密的操作,提高了算法的执行效率。
同态加密算法最初是由 Rivest 等人在文章“On data banks and privacy homomorphic”中提出的。最初对同态加密算法的研究,只停留在仅仅可以满足对特定的运算满足同态性,直到 2009 年,Gentry 提出了第一个全同态加密算法。全同态加密算法可以实现对密文进行任意有效操作,而操作结果与对密文先进行解密再进行相同操作,最后对结果进行加密的输出一致,目前对于全同态加密算法的研究主要集中在整数范围内全同态加密算法的实现,现今比较主流的同态加密算法包括,Rivest 算法,Domingo 算法,DGHV 算法和CAFED算法[10]。由于同态加密算法的高效性与安全性,使得其很适合于作为云存储中的数据加密算法。将用户数据通过全同态加密算法进行加密后存储于云端,用户掌握唯一秘钥。云服务提供方可以对用户数据进行如备份,检索等必要的操作,但不能对数据进行解密,既保障了用户数据的安全性和隐私性,也提高了云端对数据的处理效率。
结 语
本文主要介绍了目前云计算的虚拟化的关键技术和虚拟化安全的关键因素,并提出将全同态加密算法应用于云存储中对大数据的加密操作,以实现用户数据的安全性和隐私性, 同时实现云服务提供商对用户数据更加高效安全的进行处理。寻求更加简单高效的整数范围内的全同态加密算法是未来云计算安全中对于加密算法研究改进的主要趋势。