云计算及其安全研究进展综述
摘 要: 云计算是IT界时下的研究热点,本文从云计算的概念、特征以及系统架构入手,介绍了其国内外研究现状以及大型龙头公司的主要云产品。分析了云计算面临的风险和存在的一些安全问题,重点介绍了解决云安全问题所涉及的科学技术,主要从安全隔离技术、服务容错技术、安全监控技术、可信执行技术和数据安全存储及加密技术五个方面概述了云计算安全技术的发展趋势。
关键词: 云计算;系统架构;云产品;云安全
中图法分类号: TB3 文献标识码: A
随着信息的急剧增长,传统IT技术已不能满足现代信息化建设的要求,高效率、低成本地对海量数据进行存储和处理的云计算技术就应运而生。云计算[1]是基于互联网的相关服务的增加、使用和交付模式,通过互联网来提供动态易扩展虚拟化的资源。云计算将赋予互联网更大的内涵,更多应用能以互联网服务的方式交付和运行;同时也扩大了IT软硬件产品应用的外延和改变了软硬件产品的应用模式。云计算是一种新的商业模式,带动IT产业格局的变化,为全球信息产业带来新的发展机遇,给世界经济发展带来深刻的影响。
我国政府高度重视对云计算的发展,把云计算列为重点发展的战略性新兴产业。2012年9月,为了加快推进云计算技术创新和产业发展,科技部发布了《中国云科技发展“十二五”专项规划》。权威机构预测,未来三年中国云计算产业链的产值规模将达到2000亿元。《2013-2017年中国云计算产业发展前景与投资战略规划分析报告》指出,近年来企业在不断增加其云服务资产,并已经准备好开始集成工作;调查发现超过74%的企业客户计划用服务提供商来实现系统集成。同时,随着我国智慧城市建设的铺开,以及各地方的公有云和大型企业私有云建设的快速开展,中国云计算市场规模将进一步增大。
1 云计算定义及系统架构
1.1 云计算的定义
目前关于云计算系统没有统一的定义,云计算供应商根据自己企业业务推出相关的云计算战略。文献[2]认为云计算系统主要是将各种信息永久的存储在云中的诸多服务器上面,在使用所需要的信息时只要在用户的客户端进行缓存。客户端可以是桌面机、笔记本、手持设备等。文献[3]认为云计算包含互联网上各种各样服务形式的运用以及提供这些服务所需数据中心的所有软硬件设备,能够向用户提供的各种服务具体包括HaaS(硬件服务)、SaaS(软件服务)、DaaS(数据资源服务),而且还能够向用户提供能够配置的PaaS(平台服务)。所以用户可以根据自己的需要向云计算平台提交自己的硬件配置、软件安装、数据访问等需求。文献[4]从面向市场的角度认为云计算是一种由互联的虚拟计算机组合而成的并行和分布式计算系统,该系统能够根据服务提供商与用户之间协商确定的服务等级协议(SLA)动态提供若干统一的计算资源。文献[5]的观点认为:云计算是基于相对稳定和成熟的互联网的新型模式,它把以前存放于移动设备或个人电脑等个人设备上的规模宏大的信息源集中在一起,由强大的服务器协同工作。这是一种新出现的共享计算资源的方法,可以将网络端数以万计的系统连接在一起从而对用户提供各种计算服务。本文则采用如下定义[6]:云计算是一种由规模经济驱动的大规模的分布式计算模式,它以虚拟化技术作为基础,以网络作为载体提供诸如Haas、DaaS、SaaS等服务,从而实现抽象的、虚拟的、可动态扩展、可管理的计算模式。存储、平台和服务的资源池由互联网按需提供给外部用户。
从上述定义可以看得出云计算的含义,云计算具有如下的显著特征:
(1)虚拟化:云计算把所有层次的功能封装起来,形成抽象实体,为用户提供各层次的云服务,所有这些服务均通过虚拟化技术得以实现。用户可以在任意位置、任意时间、使用各种类型的终端从云中获取所需要的服务,而无需了解它的具体位置以及这些服务是如何实现的。
(2)大规模:云计算是一种分布式的计算模式,而且它是由规模经济驱动的计算模式,因而,只有巨大规模的云计算才能实现云计算的各种优势服务,尤其是服务的能力和服务的经济规模。
(3)动态配置:云计算系统所提供的服务非常灵活,可以按需定制,按需供应。
(4)可靠性:云计算的发展取决于云服务的市场,而云服务的发展又依赖于云服务的高可靠性,因此,云计算必须采用各种措施和手段从而保障云服务的高可靠性,高可靠性是云计算极为重要的特征。
(5)可扩展性:云的规模可以动态扩展,满足应用和用户规模增长的需要。同时,云服务也支持用户应用在云中的可扩展性。
(6)经济性:云计算的生存依靠规模经济,规模经济带来的是必然是低成本优势,所有经济性是云计算的一个重要特征。
1.2 云计算的系统架构
云计算系统的架构[7]大致可以分为为三层,从上到下分别是访问层、应用接口层和基础管理层,系统架构模型如图1所示。其中,基础管理层主要是解决计算机资源池所有资源的共享问题,应用接口层主要是解决它以何种方式对外提供服务,访问层是指采用云计算方式实现的一些具体应用。
图1 云计算的系统架构
2 云产品现状
云计算已经引起了业界的广泛重视,国外的云计算发展先行一步,IBM、微软、雅虎、亚马逊、Sun、EMC、Google、VMware等大型IT厂商都已涉足云计算。国内的华为、贵州华迪、华胜天成等企业也积极发展具有自主产权的云技术产品,并把产品应用到了各个行业。目前,虚拟化技术和云管理技术已经相当成熟,已成为当前云业务集成建设中必不可少的内容。
2.1 国外主要云管理产品
从2006年开始,进入了虚拟化技术的爆发期。目前,在X86平台上,主流的虚拟化厂技术主要有VMware ESXi、Citrix XenServer、Microsoft Hyper-V、Redhat KVM等,在Unix平台上,主流的厂家有IBM、HP、Oracle(SUN)。
表1 国外主流产品情况列表
序号 |
主要厂商 |
主要产品 |
客户群体 |
备注 |
1 |
VMware |
vCloud,vSphere,vCenter |
大中型企业 |
主要是X86平台,具有虚拟化技术,其虚拟化市场占有65%以上。 |
2 |
IBM |
蓝云 |
电信运营商 |
小型机。具有自主的虚拟化技术,主要针对IBM的小型机。 |
3 |
Citrix |
XenSever |
大中型企业 |
X86平台,基于Xen的虚拟化技术。 |
4 |
Oracle |
Oracle Virtual Machine |
大中型企业 |
Unix平台 |
5 |
Microsoft |
Hyper-V |
中小型企业 |
X86平台,主要针对Windows操作系统的虚拟化技术。 |
从上表可知,国外主流的云管理平台产品都是基于各自的虚拟化技术的,具有虚拟化技术和设备管理的局限性,不支持异构平台,例如VMware的云管理平台只管理其虚拟化平台,同时局限于X86硬件平台。
2.2 国内主要云管理产品
国内,也有出现一批虚拟化产品,并在市场应用上取得一定成效。
表2 国内主流产品情况列表
序号 |
厂商 |
主要产品 |
产品特点 |
1 |
华为 |
Singlecloud,FusionShpere |
仅支持Xen虚拟化;具备了较为全面的虚拟化管理、运维能力,并,虚拟网络安全和应用分发上具有领先 |
2 |
贵州华迪技术 |
Wincloud,CNware |
支持VMware、PowerVM、Citrix XenServer等异构虚拟化平台。 |
3 |
天云 |
SkyForm |
是一个云运行平台,专注于公有云服务。 |
4 |
华胜天成 |
天成云 |
现有案例只能支持100台以下物理设备;X86基于IBM-SKC和VMware,小型机基于IBM-director;不支持故障在线迁移;产品间没有统一portal |
5 |
品高 |
Bingocloud |
仅支持KVM、Xen虚拟化;基于国际亚马逊架构,具有局限性 |
从技术层面上来说,国际上主流的云管理平台都是专注各自的虚拟化技术,在技术上形成闭环,不同虚拟化平台存在隔离缺乏第三方管理平台,例如虚拟化VMware资源池和XEN资源池、Power资源池,硬件上的X86平台与小型机平台等。这与云管理平台所倡导的资源统一管理、自动化智能调度、动态弹性虚拟资源获取、应用的快速部署能力存在距离,虽然部分云计算厂商进行了有益的尝试,但离实际商用仍有差距,这也是未来国内外基础架构云技术方面的重要发展方向。如何将异构的虚拟化平台构架在一个基于自动化智能调度、本地化弹性资源调配的基础平台上,也是未来基础架构云要解决的重大问题。
3 云计算安全研究
3.1 云计算面临的安全问题
尽管很多研究机构认为云计算提供了最可靠、最安全的数据存储中心和服务,但安全问题[8]依然是云计算生存的最主要问题之一。据美国研究公司Gartner发布的《云计算安全风险评估》的报告称,云计算服务存在着如下七大潜在的安全风险,针对这七大风险,可得出云计算服务用户的安全需求:
l 可审查性:云计算服务提供商愿意而且可以做到遵从相关的法律法规。
l 特权用户的接入:云计算服务提供商提供和监管享有特权的管理员方面的具体信息以及控制访问方面的具体情况。
l 数据隔离和加密:云计算服务提供商根据不同的数据,可以为所有的数据提供隔离存储服务以及加密服务。
l 数据恢复:如有数据丢失,云计算服务提供商有能力对数据进行全面而快速恢复。
l 数据位置:云计算服务提供商给出具体的承诺合同,并遵守相关数据管理的法律法规,提供数据存储地点信息的查询服务。
l 长期生存性:云计算服务提供商给出长期发展风险的安全措施,譬如用户如何拿回自己的数据,以及拿回的数据如何被导入到替代的应用程序中。
l 调查支持:云计算服务提供商以合同承诺的形式支持特定的调查。
3.2 云安全技术发展趋势
云计算安全技术主要分为三大领域:即身份的保护、基础设施的保护和信息数据的保护。
第一个领域是身份的保护。对于身份安全来说,用户需要的是强认证机制,强认证机制一般需要考虑ID和密码的保护,只有这样用户才能有充分的信心,确保得到授权去访问某一应用或系统。在云环境中需要联合身份认证技术,才能实现云服务和应用的安全迁移。
第二个领域是基础架构的安全保护。基础架构包括硬件和网络设施、操作系统、应用环境等。对基础架构安全来说,要确保基础架构的安全有非常大的挑战,在系统中从一个云环境进入到另一个云环境的时候,如何保证应用业务系统不受攻击,也是非常大的挑战。在基础架构安全方面还有一点非常重要,就是需要非常强的可信链条,这个可信链条包括硬件上要安全,还有因特网,还有操作系统,还有整个虚拟化,所有的链条里面都要打造非常强的可信性。
第三个领域是数据和信息的安全保护。要确保用户访问云环境的时候,一方面确保数据的保密性,也就是谁能够阅读这些数据;另一方面要保证云环境中的数据完整性,也就是这些数据在访问的时候,不应该被任何人随意篡改。在这个领域中的技术主要包括分布式的密钥管理技术,还有密钥的加密技术,还有DLP技术。云服务提供商需要确保整个数据在云环境中传输的时候,内容不会丢失。
具体来说云安全技术主要包括以下方面的一些技术:
(1)安全隔离技术
虚拟化技术是整个云计算技术的核心,云环境的安全隔离问题主要集中在虚拟化技术方面。目前虚拟机的隔离机制主要采用强制访问控制。Xen虚拟机管理器自身集成了强制访问控架构,并实现为Xen的的安全模块XSM,通过该模块可以控制单台物理节点上多个虚拟机之间的资源共享和隔离性。对于安全性要求较高的环境,信息的泄漏是无法被接受的,而这种信息泄漏往往往并不是由于显式的信息共享,而是以秘密通道的方式进行,因而在这样环境里面虚拟资源隔离性控制显得极其重要。从安全的角度考虑,虚拟机管理器 VMM(Virtual Machine Monitor)不仅需要提供隔离性控制,同时需要提供对信息流以及资源共享的控制,少了后面的两种将无法提供彻底隔离性保证。由Jonathan M. McCune,Trent Jaeger等人在2006年提出的Shamon原型系统,是一种分布式强制访问控制系统,它在一个由多虚拟机组成的分布式环境中构建共享参考监控器,实施强制访问控制策略。Shamon通过在Linux上建立可信的MAC虚拟机,基于Xen而实现了一个管理程序的原型系统,它能够确保VMM节点上的参考监控器成为共享参考监控器的一部分。在分布式环境中,MAC执行的可信性是通过远程证明来建立的,远程证明使得每个节点能有效验证参考监控器的基本性质:如防篡改性(即代码和通信完整性)、MAC有效执行的仲裁机制、与其他VMs间的隔离性。IBM美国研究中心在2008年提出了可信虚拟数据中心TVDc(Trusted Virtual Datacenter)的概念,可信虚拟数据中心的多虚拟机之间是完全可信的,针对TVDc的安全控制主要是域间通信的控制。TVDc可以增加虚拟数据中心的安全性并简化基于可信虚拟域(TVD,Trusted Virtual Domain,可信虚拟域)抽象的管理能力,它主要解决由数据中心的虚拟化而带来的强隔离性需求和完整性保证。在虚拟化环境下,TVD提供的安全网络,可以阻止无意的数据泄漏和恶意软件从一个工作负载向另一个工作负载的蔓延。
(2)服务容错技术
目前广泛应用的双机热备份提升了软件的可用性,但是仍然无法抵御服务软件自身缺陷的攻击。传统的软件容错技术包括恢复快照技术,N版本程序设计和N自检程序设计。其中恢复快照技术是由B.Randell于1975年提出,通过建立还原点并使用可接受测试和后向恢复实现容错;N版本程序设计则是由Avizienis等人于1997年提出,采用多个不同的软件版本利用决策机制和前身恢复实现容错;N自检程序设计是由Laprie等人于1987年提出,自检程序利用程序冗余在执行过程中检测自身的行为。
传统的软件容错技术一般代价较高,而且对某些故障容错效果并不明显。随着容错技术研究的深入,出现了一些软件容错新技术,其中以软件抗衰方法,微重启技术,基于检查点的回滚机制和错误忽视技术为代表。其中软件抗衰方法是由Huang等人在1995年提出,是为预防系统突然发生故障而预先采取的措施。它是一种前摄的容错技术,主要通过适时、适度地消除系统内部错误的运行状态来完成。针对虚拟机环境下VMM的软件衰退问题,Kourai等人于2007年给出了一种快速重启VMM的方法。王湛等提出了神经网络在软件抗衰重启中的研究,以实现细粒度的软件抗衰。针对大型分布式应用软件系统发生故障时恢复时间过长问题。微重启技术是由Candea等人在2004年提出,针对大型分布式应用软件系统发生故障时恢复时间过长问题,它采用递归恢复的方法。通过快速地解决局部故障以避免整体宕机,从而提高了应用系统的可用性。基于检查点的回滚机制是由Brog等人于1983年提出,使用检查点来提供错误容忍,目前该技术应用普遍,可以周期性的对软件做检查点,检查点可以放在磁盘,远程内在,非易失性的或者持久的内存中,也可以实时的对软件的操作以日志的方式进行记录。当软件出现错误时,可以根据检查点或者日志回滚到一个检查点并对先前出现的错误进行相应处理而不造成软件再次出错。错误忽视技术是由Rinard等人于2004年提出,主要是对内存访问的错误操作提出了方案,改写了编译器,在一些地方插入了内存访问的检查指令,如果不合法,则返回一个杜撰值。而且返回的值会被逻辑检查,从而能将预料外的非法变成预料中的非法。
(3)安全监控技术
目前,为了便于云平台管理和计费,云监控系统都是关注于性能。亚马逊云监测(CloudWatch)是一项监控AWS(Amazon WebServices)云资源的网络服务,它为用户提供可视化的资源利用,操作性能,以及总体的需求模式(包括CPU利用率、硬盘读写和网络流量等指标)。使用亚马逊CloudWatch,只需要简单地选择你想要监控的亚马逊弹性计算云(EC2)实例。几分钟后,Amazon CloudWatch将开始汇总和存储那些可以通过AWS管理控制平台访问的监控数据。自动测量(Auto Scaling)允许EC2的容量根据需求增大或减小,弹性负荷调节则在EC2计算实例之间分配流量,这些新功能的目的在于让亚马逊云应用软件的用户使用起来更加简单可行。通过Amazon CloudWatch,云用户可以访问最新的统计信息,查看图表,还可以为度量数据设置警报。另一款云监控系统是LogicMonitor,它能够监控物理和虚拟基础设施。LogicMonitor提供一个单一经济的解决方案,给云用户一个终端到终端的视图,监控所有的基础设施和应用程序,从而不需要多个监控系统。云用户不需要知道监控什么,或者怎么配置。只需要输入一个主机名,LogicMonitor将自动发现关于这个设备的一切东西,并开始监控、绘图和报警。
(4)可信执行技术
最早的可信执行环境是基于静态可信度量根SRTM的IMA完整性度量架构,只在系统启动时进行完整性的度量和判断,而不保证系统运行过程中的完整性。为了弥补这点不足,TCG 1.2规范中定义了一种新机制来鉴别启动过程:动态可信度量根DRTM。不像静态的信任根,DRTM能够在任何时候启动并且可以重复任意次数。Inter的TXT和AMD的SVM安全平台技术都是采用DRTM作为底层的信任机制。DRTM的核心概念就是引入一条新的CPU指令来创建一个受控的、可证明的执行环境。这个环境不会被系统中的任何其他部件影响,因此可以确保安全装载程序不被篡改的执行。该技术是基于硬件的信任根,可在任何时候中断现有环境的执行,不需要重启机器就重新建立一个新的可信环境。这种可信环境的动态建立过程在TCG1.2规范中被称为Late Launch。这些技术可以保证虚拟机管理器的可信启动却无法为每个虚拟机动态构建可信执行环境,因此并不能实现云平台任务可信执行。
Tal Garfinkel等人提出了Terra基于虚拟机的可信计算架构。Terra将不同的虚拟机定制成不同安全需求的应用环境。不同安全要求的应用程序运行在不同的“盒子”(虚拟机)之中。无特殊安全要求的通用型运行于“开放盒子”之中,而每个安全保密要求的应用则被单独隔离在“封闭盒子”中。“封闭盒子”通过将虚拟机磁盘镜像加密来保证敏感信息的机密性,通过在虚拟机启动之前对其进行度量来防止对环境的篡改。虚拟机之下运行的可信虚拟机管理器负责向远程第三方证明“封闭盒子”的可信性。
Flicker是Jonathan M. McCune等人基于SKINIT提出的一个最小化可信计算基的执行架构。这个基础架构让高安全性要求的代码在一个完全隔离的环境中执行。Flicker还能够对所执行的代码(包括其输入和输出)进行有意义、细粒度的远程证明。即使BIOS、操作系统和支持DMA的设备全部都是恶意的,Flicker也能够保证以上特性。但是Flicker利用SKNINT创建一个环境时,会暂停整个物理硬件的工作,这显然不适用于多用户并行的云模式。
(5)数据安全存储及加密技术
早期一些安全存储系统采用基于磁盘卷或基于单文件的简单加密模式对存储信息进行保护,但对开放的网络环境下对于资源共享、细粒度的访问控制都缺乏支持。如AT&T开发的加密文件系统CFS允许用户使用单一的密钥基于每个目录对文件进行加密。然而在CFS结构下,要求客户端信任远程服务器不会自发存储数据,同时缺乏对保护资源的共享能力。目前国内外对安全存储系统的研究主要集中在网络环境下的数据存储安全研究,研究网络环境下并行存储系统的数据完整性、机密性和有效性。随着数据价值不断提升,数据加密存储变得更为重要,而保护用户隐私性要求存储安全建立在对存储系统的最小信任基础之上,从而对端端的加密存储提出了需求。随着存储系统和存储设备越来越网络化,存储系统在保证数据机密性的同时,必须提供相应的加密数据共享技术。
4 结束语
云计算作为一项新兴的技术,特点突出、优势明显,得到了众多人的追捧。云计算技术高速发展给互联网带来了新的机遇与挑战,各大IT公司加入到云计算行业,推出自己的云服务。但与此同时,云计算还面临诸多挑战,尤其是云安全问题,有待云计算相关安全技术的进一步研究解决。
参考文献:
[1] Wikipedia Cloud computing[EB/OL].(2007203203) [2008212220].http://en wikipedia org/wiki/Cloud_computing.
[2] HEWITTC. ORGs for scalable,robust privacy- friendly client cloud computing[J].IEEE Internet Computing 2008,12(5):96-99.
[3] Wang Li-zhe,Tao Jie,Kunze M.Scientific cloud computing early definition and experience[C].Proc of the 10th IEEE International Conference or High Performance Computing and Communications 2008:825-830.
[4] Buyya R,Yeoc S.Market-orientec cloud computing vision,hype and reality for delivering IT services as computing utilities[C].Proc of the 10th IEEE International Conference or High Performance Computing and Communications 2008:5-13.
[5]Armberust M,Fox A,Griffith R.Above the clouds a Berkeley view of cloud computing[EB/OL].(2009202210[2009205215]).http://grid pku edu cn/cloud/Berkeley above the clouds pdf.
[6] Foster I,Zhao Yong.Cloud computing and Grid Computing 360-Degree Compared[M].2008 Grid Computing Environments Workshop,IEEE.Austin,Texas,2008.
[7] 张建勋,古志民,郑超.云计算研究进展综述[J].计算机应用研究,2010,27(2):429-433.