信息共享环境安全体系架构*
2013-10-16金刚
金 刚
(海军计算技术研究所 北京 100841)
1 引言
目前,云计算已成为信息共享计算环境的主流。根据美国技术和标准委员会的云计算定义[1],它是一种能够动态伸缩的虚拟化资源,通过互联网以服务的方式提供给用户的计算模式,用户不需要知道如何管理支持云计算的基础设施。云计算可以理解为并行计算、分布式计算和栅格计算等计算机科学概念的商业实现。比起网格计算,云计算更强调服务和机构内部的分布式计算资源共享。云计算把软件、存储、平台作为一种服务提供给用户,针对不同的服务采取不同的商业模式。目前商用云计算的典型代表有Google云计算[2]、亚马逊云计算[3]、微软云计算[4]、IBM 的蓝云 (blue cloud)[5]等。开 源 云 计 算 系 统 有 Hadnoop[6]、Eucalyptus[7]等。
在商业信息共享和云计算环境飞速发展的同时,集中管理的信息共享环境中心已成为安全攻击的重点目标,由于系统的巨大规模以及前所未有的开放性与复杂性,其安全性面临着更为严峻的考验。2009年10月,微软云计算的服务器故障导致包括备份数据在内的部分用户数据丢失;2009年12月,亚马逊基于云计算的EC2(弹性计算云)服务在一个星期里发生了两起造成服务中断的事故;2010年2月25日,由于一个备份数据中心发生故障,谷歌应用开发者服务Google App Engine(谷歌应用引擎)宕机,对很多谷歌客户造成了影响[9]。
随着信息共享环境技术的逐渐发展与广泛应用,其安全的重要性已得到越来越多的关注。已经有相关标准组织开始着手制定云计算及安全标准。云安全联盟CSA(Cloud Security Alliance)[8]是在2009年的RSA大会上宣布成立的一个非盈利性组织。CSA确定了云计算安全的15个焦点领域,从中选取较为重要的若干领域着手标准的制定。目前,云计算安全联盟已完成《云计算面临的严重威胁》、《云控制矩阵》、《关键领域的云计算安全指南》等研究报告。
2 信息共享环境安全问题分析
根据信息共享环境安全现状和信息共享技术自身的特点,信息共享环境所面临的主要安全问题归纳如下。
2.1 用户数据安全与隐私保护
信息共享环境意味着用户任务和数据被转移到用户控制范围之外,也就是服务提供者手中。服务提供者获得数据或应用的优先访问权。由于存在内部人员失职、外部攻击及系统故障导致安全机制失效等多种风险,用户数据安全面临以下问题:
1)提供者是否采用必要的安全技术确保用户数据的安全,即使提供者也不能在没有用户授权的情况下访问数据;
2)如何向用户证明提供的手段是安全的。让用户确信其数据被正确地使用,用户数据被正确存储在其指定的区域,用户使用习惯隐私没有被记录或分析,不需要的数据已被彻底删除等;
3)在出现安全事件时,用户缺乏相应的举证能力;
4)API访问权限控制以及密钥生成、存储和管理方面的不足都可能造成数据泄漏。
2.2 动态虚拟化安全
1)虚拟机的回滚机制
传统计算机的状态单调向前进行,而虚拟机的可撤销执行模式与安全管理与维护功能相违背,回滚机制可能会使已经被补救的漏洞重新出现,重新使用过期的密码,重新引入被清除的恶意代码,导致被删除的文件重新恢复(信息泄露)等。
2)破坏敏感数据的最小生命周期原则
建立一个安全系统的基本原则就是减小敏感数据的生命周期,但虚拟机会破坏这个原则。比如,产生随机密钥后的虚拟机以文件的方式被保存起来,可能会导致用户密钥的泄露。
3)虚拟机逃逸
虚拟机设计的目标是使得程序在一个封闭的环境中执行,但程序可以利用虚拟机漏洞“逃出”封闭环境,在物理机上执行。获取物理机的控制权后,可以进一步获取物理机上运行的所有虚拟机的控制权。
4)配置共享技术漏洞
信息共享环境中很多虚拟服务器共享着相同的配置,简单的错误配置都可能造成严重影响。因此必须为网络和服务器配置实施有效安全的配置措施。
2.3 复杂应用模式下的身份认证
信息共享环境服务提供者在对外提供服务的同时,自身也需要使用其他信息共享环境提供者所提供的服务。使用者所使用的服务间接涉及到多个服务提供单位,这无疑极大地提高了问题的复杂性,进一步增加了安全风险。
服务提供者和终端用户都存在自己的安全需求。首先服务提供者、计算基础设施提供者和终端用户等不同活动参与者之间需要实现相互认证,防止恶意服务请求和虚假计算平台提供者的出现;其次安全策略协议和认证应保证参与者之间通信的保密性和完整性;需要在这种任意两个参与方之间的信任关系非常特殊复杂的开放环境下定义合适的认证策略。
2.4 恶意攻击的快速识别
信息共享环境在带来巨大好处的同时,也可能带来巨大的破坏能力。基于信息共享环境的攻击更容易组织,破坏性更大。一旦攻击的对象是大型信息共享环境的提供单位,势必影响大批使用者,所造成的损失难以估量。需要及时识别与阻断利用信息共享环境进行的安全攻击。
攻击者利用用户的虚拟主机发起攻击,更容易隐藏自己,所导致的破坏性更大,黑客通常能够迅速部署新的攻击技术在共享环境中自由穿行;信息共享环境具有动态性特征,各种含有非法内容的信息将很容易以打游击的模式在网络上迁移,使得追踪管理难度加大,对内容监管更加困难。
原来只有资金雄厚的大型组织才能具有足够规模的计算能力。在信息共享环境里,单个使用者或者多个合谋使用者可较容易获得足够规模的计算能力,可用于密码算法破解等各种暴力攻击。
2.5 海量信息挖掘和存储
信息共享环境中数据与计算高度集中,面对TB乃至PB级的海量数据,如何从数据中获取有效信息,这将是决定信息共享环境应用成败的关键。除海量数据的挖掘,海量数据的存储和管理也将是一个巨大的挑战。
3 信息共享环境安全体系架构
目前信息共享环境安全通常利用已有的安全机制,针对数据存储和传输等过程中存在的安全问题(例如:身份认证、访问控制、SSH等)保证服务的安全。这些安全机制对于保证信息共享环境服务安全起到了一定的作用,但并不能从根本上解决信息共享环境的安全问题。因此,必须从信息共享环境的体系结构出发考虑安全机制的实施,并保证各类安全机制与信息共享环境融为一体,才能保障信息共享环境的整体安全。
信息共享环境的体系结构包含三个层次:基础设施服务层、平台服务层和软件服务层,本文从这三个层次阐述如何部署相关安全机制。针对信息共享环境的三个层次形成信息共享环境安全体系结构如图1所示。
3.1 基础设施服务层
基础设施服务层提供基本的计算和存储能力,包括以服务方式提供的基础资源(如计算、存储、网络等)。
1)计算资源。虚拟化技术一定程度上解决了多个虚拟机在相同硬件资源上的隔离和共享问题,使计算资源大小可定制化;
2)存储资源。存储资源分为两类,与虚拟机存在相同硬件平台的本地存储和分布式存储。本地存储解决本地计算面临的临时存储问题。分布式存储需要高可用性、可靠性、容错性和数据一致性、高性能;
3)网络资源。网络带宽、拓扑结构、网络延迟、虚拟网络设置、IP地址等网络资源可以被描述成具有服务接口的网络资源服务,从而变得具有可配置化、可安排和控制、可动态分配和管理以及“鲁棒”等特征。
3.2 平台服务层
平台服务层通常也称为“云计算操作系统”。它为终端用户提供基于互联网的面向服务的计算平台和应用开发环境,包括应用编程接口和运行平台等。
3.3 软件服务层
软件服务层为用户提供可以直接使用的软件。
图1 信息共享环境安全体系结构图
1)密码安全基础设施
密码安全基础设施是安全保密系统运行的基础支撑平台,由密码安全服务设备、密码管理系统、证书管理系统、认证基础设施和授权基础设施组成。
密码安全服务设备提供基本的密码运算和安全服务功能。密码管理系统管理对称密码。证书管理系统管理非对称密码。认证基础实施对用户、平台、信息提供统一的实体和报文认证。授权基础设施提供统一的资源访问安全策略。
2)网络资源安全
网络资源安全包括网络接入认证、网络资源加密和网络安全隔离。网络接入认证完成不同计算节点的安全接入。网络资源加密对节点间传输的数据进行密码保护。网络安全隔离完成不同安全等级网络的互联和隔离。
3)计算和存储资源安全
计算和存储资源安全包括可信计算平台、网络存储加密、存储访问控制。可信计算平台为各计算节点建立安全可信的计算环境。网络存储加密为网络化存储信息提供加密手段。存储访问控制为用户对存储空间的数据访问提供策略和安全控制。
4)虚拟化安全
虚拟化安全包括计算资源隔离、存储资源隔离、网络资源隔离。计算资源隔离的核心是虚拟机管理单元,通过虚拟机实现计算资源的逻辑隔离。存储资源隔离保证虚拟机安全的访问不同配置下的存储资源。网络资源隔离使不同虚拟机安全地共享物理网卡,同时用于外部和内部通信。
5)平台服务安全
平台服务安全包括密码服务、安全服务和运行环境安全配置。密码服务和安全服务为平台安全机制提供服务。运行环境安全配置定制和管理平台安全运行环境。
6)软件服务安全
软件服务安全由标识与认证、密码安全服务构件、应用安全控制组成。标识与认证为系统用户和软件提供基于密码的标识,为基于各种标识的鉴别授权提供安全保密支持;密码安全服务构件提供各类密码服务组件和密码服务应用编程接口。应用安全控制与特定应用安全相关。
总之,在信息共享环境的体系结构中,通过利用基础设施服务层和平台服务层提供的相关基本设施、平台服务和安全机制,软件服务层能够保证信息共享环境下密码、网络资源、计算存储资源、虚拟化、平台服务和软件服务的安全。
4 信息共享环境关键安全技术
可以看出,需要在共享环境体系结构中部署的主要关键安全技术包括:虚拟化技术、可信计算技术、共享资源访问控制技术、密文检索与处理、数据存在与可使用性证明和基于密码学方法的访问控制技术。本节详细地说明信息共享环境的体系结构中使用的关键安全技术。
1)虚拟化技术
虚拟化包括系统虚拟化、存储虚拟化以及网络虚拟化。系统虚拟化通过软硬件划分、分时服务、服务质量保证及模拟与仿真执行等技术,允许统一硬件平台虚拟出多个互不相干的硬件执行环境。运行于虚拟机的操作系统和底层硬件环境间存在附加的软件层是虚拟机监控器(Virtual Machine Monitor,VMM)[10]。VMM 管理底层的硬件资源,并且将这些资源分配给上层运行的一个或多个虚拟机。网络虚拟化的重点在于保证位于不同数据中心(拥有不同的网络配置、网络管理策略)的虚拟机安全交互。存储虚拟化重点解决在保证存储系统自身安全性的基础上为用户提供安全灵活的数据访问。
2)可信计算技术
可信计算技术[11]与密码技术相结合为各计算节点提供了可信的软件和硬件以及证明自身行为可信的一系列安全机制。面向信息共享环境虚拟化平台的安全可信需求,重点研究动态度量根建立技术、信任链在多虚拟环境的传递技术、可信密码模块的虚拟驱动技术和虚拟环境下应用的安全迁移技术。
3)共享资源访问控制技术
当使用者跨域访问资源时,需在域边界设置认证服务,对访问共享资源的使用者进行统一的身份认证管理。在跨多个域的资源访问中,在进行资源共享和保护时必须对共享资源制定一个公共的、双方都认同的访问控制策略。
4)密文检索与处理
密文检索有两种典型的方法:基于安全索引的方法,通过为密文关键词建立安全索引,检索索引查询关键词是否存在;基于密文扫描的方法对密文中每个单词进行比对,确认关键词是否存在,以及统计其出现的次数。密文处理研究主要集中在秘密同态加密算法设计上。
5)数据存在与可用性证明
使用者需在取回很少数据的情况下,通过某种知识证明协议或概率分析手段,以高置信概率判断远端数据是否完整。典型的工作包括:面向用户单独验证的数据可检索性证明方法、公开可验证的数据持有证明方法等。
6)基于密码学的访问控制
基于层次密钥生成与分配策略实施访问控制的方法、利用基于属性的加密算法(如密钥规则的基于属性加密方案或密文规则的基于属性加密方案)、基于代理重加密的方法、在用户密钥或密文中嵌入访问控制树的方法等。
5 结语
随着信息共享技术的发展和用户对信息共享服务的需求,信息共享环境将越来越普及,人们也将越来越关注其相关的安全问题。一方面以密码技术为基础的信息共享安全体系结构建立在信息共享环境的各个层次,可为基础设施、平台和软件提供有效的安全防护机制。另一方面各类安全防护机制只有与信息共享环境融为一体,无缝衔接才能充分发挥最大的安全效能。
[1]NIST.The NIST Definition of Cloud Computing[EB/OL].http://csrc.nist.gov/publications/nistpubs/800-145/sp800-145.pdf,2012-11-12.
[2]Sanjay Ghemawat,Howard Gobioff,Shun-Tak Leung.The Google File System[C]//New York,USA:Association for Computing Machinery,2003-29-43.
[3]Amazon.Elastic Computing Cloud,EC2[EB/OL].http://aws.amazon.com/ecs,2012-11-12.
[4]Microsoft.Global Foundation Services[EB/OL].http://www.globalfoundation services.com,2012-11-12.
[5]IBM.IBM Cloud Computing Architecture[EB/OL].http://www.ibm.com/cloud-computing/us/en,2012-11-12.
[6]Apache.Apache Distributed Architecture – Hadnoop[EB/OL].http://hadnoop.apache.org,2012-11-12.
[7]California University,San Barbara.Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems[EB/OL].http://www.eucalyptus.com,2012-11-12.
[8]CSA.Cloud Security Alliance[EB/OL].https://cloudsecurityalliance.org,2012-11-12.
[9]ZOL.云计算环境下的安全建设思路[EB/OL].http://3g.zol.com.cn/article/1886/1885026_1_1.html,2012-11-12.
[10]Wikipedia.Virtual Machine Manager[EB/OL].http://en.wikipedia.org/wiki/Hypervisor,2012-11-12.
[11]TCG.Trusted Computing Group Official Website[EB/OL].http://www.trusted computinggroup.org,2012-11-12.