3.3 云计算安全参考模型
云计算安全模型是一个协助指导安全决策的工具。目前,业界已经推出了一些云计算安全模型,以帮助企业满足合规要求。本节将详细对三种业界较为认可的云计算安全参考模型进行介绍。
3.3.1 云立方体模型
2009年2月,Jericho Forum(杰里科论坛,一个致力于定义和促进去边界化的国际组织)从安全协同的角度提出了云立方体模型,该模型从数据的物理位置(Internal和External)、云计算相关技术和服务的所有关系状态(Proprietary和Open)、应用资源和服务时的边界状态(Perimeterised和De-Perimeterised)、云服务的运行和管理者(Insourced和Outsourced)4个影响安全协同的维度上分成了16种可能的云计算形态[15]。云立方体模型如图3.3所示[6],云立方体模型的分解如图3.4所示,云立方体模型的维度如表3.4所示。
图3.3 云立方体模型
图3.4 云立方体模型的分解[6]
表3.4 云立方体模型的维度表
(1)维度1:内部/外部。维度1表达的是数据物理位置,衡量依据是数据是否在组织内部。如果部署在组织内则是内部维度,反之是外部维度。例如,虚拟化硬盘位于公司的数据中心属于内部维度,亚马逊SC3位于“场外”属于外部维度。这里需要说明的是,内部不一定比外部安全,有时,结合实际情况将两个维度进行有效结合能提供更加安全的模型。
(2)维度2:私有/开放。维度2表达的是技术路线,该维度定义云技术、服务、接口等所有权,表明了云间的互操作性程度,即私有云和其他云间的数据和应用可移植性。在私有云中,不对私有云进行大的改动,是无法将数据和应用转移到其他云中的。然而,云计算技术的进步和创新却多发生在私有云,私有云服务提供商也以专利和商业技术的形式对新技术加以限制和保护。公有云则通过使用开放技术,使数据在云之间共享,使云之间相互协作不再受限,也使公有云成为提高多个组织之间合作的最有效的云。
(3)维度3:边界化/去边界化。维度3表达的是体系理念,即云在企业的传统IT边界以内还是之外。边界化意味着在以防火墙为标志的传统IT边界内运行云计算,但是这种做法阻碍了企业与企业(如私有云与私有云)的合作。在边界化的情况下,可以通过VPN来简单地将组织边界延伸到外部云,在公司的IP域内运行虚拟服务,当计算任务完成后,把边界退回到原来的传统位置。去边界化是指逐渐移除企业传统的IT边界,使企业能够越过任何网络与第三方企业(如业务伙伴、用户、供应商、外包方等)进行全球性的安全合作。
目前,可以在维度3中运营四种云计算形态(I/P、I/O、E/P、E/O)。云立方体模型中的云计算形态E/O/D.P称为最优点,能实现最优的灵活性和合作。然而,私有云服务提供商出于商业利益的考虑,会限制私有云迁移,把用户留在立方体的左侧。
(4)维度4:自供/外包。维度4表达的是运维管理,描述运维管理权的归属问题。8个云计算形态Per(I/P、I/O、E/P、E/O)和D.P(I/P、I/O、E/P、E/O)里每个云计算形态有两种运维管理状态,分别为自供和外包。公司自己控制运维管理属于自供维度,运维管理服务外包给第三方属于外包维度。在云立方体模型图中用两种颜色(Colour 1和Colour 2)表示维度4。上述8个云计算形态均可以采用两种颜色中的任一颜色。
从对云立方体模型的分析可以看出,云立方体模型可以很好地对位置、所有权、架构和维护模式进行边界界定,能够区分云从一种形态转换到另外一种形态的四种准则/维度,以及各种组成的供应配置方式,对理解云计算所具有的安全问题有很好的帮助。用户需要根据自身的业务和安全需求选择最为合适的云计算形态。然而,云立方体定义的云计算形态维度主要用于商业决策,对技术的概述相对薄弱,因此将对云计算安全的架构和技术问题的研究置于云立方体模型的下一层次,结合每种云计算形态的安全特点来分析云计算安全的应对策略和核心技术。
3.3.2 CSA模型
云安全联盟(Cloud Security Alliance,CSA)从2009年发布《云计算关键领域安全指南V1.0》版本开始,逐步更新,2017年发布了《云计算关键领域安全指南V4.0》(简称新指南)。新指南从架构(Architecture)、治理(Governance)和运行(Operational)三个方面的14个领域对安全性和支持技术等提供最佳实践指导[7]。
云计算部署方式的实现如图3.5所示。
图3.5 云计算部署方式的实现
如图3.5所示,对于私有云和社区云,有多种实现方式,可以和公有云一样,由第三方拥有和管理,并提供场外服务,所不同的是共享云服务的用户之间具有信任关系,这样就使保障云计算的安全性的责任局限于组织内部和可信任的用户之间。
云计算部署方式的实现和基本云服务的组合构成了不同的云服务模式。在《云计算关键领域安全指南V3.0》中,指出了云计算技术架构模型、安全控制模型以及相关合规模型之间的映射关系,如图3.6所示。
图3.6 CSA提出的云计算技术架构模型、安全控制模型和相关合规模型之间的映射[8]
结合图3.6中的安全控制模型,可以确定不同的云服务类型下云服务提供商和用户的安全控制范围和责任,可以帮助用户评估和比较不同云服务模式的风险,以及现有安全控制与要求的安全控制之间的差距,可以帮助云服务提供商和用户做出合理的决策。
3.3.3 NIST云计算安全参考框架
2013年5月,美国国家标准与技术研究院(NIST)发布了SP 500-299《云计算安全参考框架(NCC-SRA)》草案,描绘了云服务中各种角色的安全职责[9],具体如图3.7所示。
该架构是基于角色来分层描述的,从用户、云服务提供商、云代理者、云审计者和云基础网络运营者五个层面,详细描述了如何保障云服务的安全。
(1)用户。用户需要由安全云服务协同和安全云服务管理两方面支持云计算安全。安全云服务协同是系统组件的一种组合,支持云服务提供商对计算资源进行部署、协调与管理,为用户提供安全的云服务。安全云服务协同是一个过程,需要所有的云参与者通力合作,基于云服务类型与部署模型不同程度地实现各自的安全职责。
安全服务层涉及云服务提供商、云代理者与用户。用户仅需确保云服务接口,以及接口之上功能层的安全。根据云部署模型的不同,云服务接口可能位于IaaS、PaaS或SaaS。用户只能依靠云服务提供商或技术代理者保障安全功能层的安全。
安全云服务管理包含支撑用户业务运行与管理所需的安全功能。用户业务运行与管理的安全需求包括:安全业务支持需求、服务提供与配置安全需求、移植与互操作安全需求,以及组织支持(包括组织处理、策略与步骤)。因此该模块主要包括安全业务支持、安全配置、可移植性与互操作性、组织支持。
图3.7 云计算安全参考架构
(2)云服务提供商。根据云服务提供商的服务范围与实施的活动,云服务提供商的架构组件为安全云服务管理、安全云服务协同。由于安全与隐私保护、数据内容管理、服务级别协议(SLA)等是跨组件的,因此云计算安全参考架构模型将云服务提供商的安全活动交错分布到所有的组件,覆盖了云服务提供商负责的全部领域,并且将安全性嵌入与云服务提供商有关的全部架构组件中。另外,云部署方式作为云服务的一部分,直接与云服务提供商提供的服务相关。因此,云计算安全参考架构为云服务提供商定义了两个框架组件与子组件。两个框架组件是:安全云服务管理,包括安全供应与配置、安全可移植性与互操作性和安全业务支持;安全云服务协同,包括安全物理资源层(物理硬件与基础设施,仅主服务商)、安全资源抽象与控制层(物理硬件与基础设施,仅主服务商)。子组件是安全部署与服务层。
主服务商通过技术代理者直接向用户提供服务,或通过中介服务商间接地向用户提供服务。中介服务商也可将一个或多个主服务商的服务集成后向用户提供服务。多个云服务提供商之间形成依赖关系,此依赖关系通常对用户不可见,即主服务商与中介服务商提供服务的方式对用户没有区别。中介服务商负责的安全组件、控制措施与主服务商相同,并需在多个云服务提供商之间进行协调。
(3)云代理者。云代理者是管理云服务的使用、性能与交付,并协调云服务提供商与用户之间关系的实体。云计算安全参考架构模型中强调了两种类型的云代理者:技术代理者与业务代理者。在实践中,技术代理者用于保护用户的数据迁移到云的安全组件集(与提供类似服务的中介服务商所使用的安全组件集相同);业务代理者提供业务与关系支持服务(如安全服务仲裁与安全服务中介)。与技术代理者相反,业务代理者不接触任何用户在云中的数据、操作过程与其他组件。
通常,云代理者提供的服务组合可以分为五种架构组件:安全服务聚合、安全服务仲裁、安全服务中介、安全云服务管理和安全云服务协同。其中,前四个组件分别对应云代理者所提供的服务,第五个组件则对应云代理者的责任,即作为安全云服务协同的一部分保障云服务的安全性。
(4)云审计者。云审计者是对云服务、信息系统运维、性能、隐私影响、安全等进行独立审计的云参与者。云审计者可为任何其他云参与者执行各类审计。云审计者中的安全审计环境可确保以安全与可信的方式从责任方收集目标证据。通常,云审计者可用的安全组件与相关的控制措施独立于云服务模式与/或被审计的云参与者。
(5)云基础网络运营者。云基础网络运营者是提供云服务连接与传输的云参与者。从用户角度来看,用户与云服务提供商或云代理者有更为直接的关系。除非云服务提供商或云代理者同时充当云基础网络运营者的角色,否则云基础网络运营者的角色将不会被用户注意到。因此,为履行合同义务并满足指定的服务要求,云基础网络运营者应对云服务提供商与云代理者的云服务提供安全传输支持。虽然云基础网络运营者具有安全服务管理功能,如保证安全的服务交付以及满足用户的安全需求,但这些功能并不直接提供给用户。
从上述分析我们可以看到,NIST提出的云计算安全参考架构根据参与云计算的五个角色,从云计算的三种服务类型开始,详细给出了每个角色在不同的服务类型中需要承担的安全责任。