在上篇《“三权分立”模型的概述》中我们对三权分立模型做了概述。角色模型定义了实现SoP的三个角色;协作模型指定三个角色如何协作实现云服务认证;约束模型执行三个角色间的约束条件以及同一角色执行方之间的约束条件。
图1描述了SoP的角色模型。CSE作为云服务执行机构,执行符合客户要求的云服务;TER作为信任证据报告机构,负责检查CSE执行的云服务行为;SPD作为软件属性定义器,负责定义云服务每个软件组件属性。在角色模型中,CSE的权力被TER和SPD所限制。
图1 角色模型
CSE 可以理解为“浓缩版”云服务提供商,它唯一的职责便是执行云服务。用户与CSE达成服务等级协议SLA,表明他们所购买的能够支持其应用程序的云服务的性能要求。CSE利用分层软件组件来构建云服务,因此,云服务的属性是所有软件组件属性的集合。CSE负责维护每个云服务构建中的细节以及支持云应用程序。此外,由TER和SPD分别执行检查权和定义权,用户由此来确定哪些云服务满足了他们的应用程序的需求,以及这些服务是否具有SLA所需的属性。
TER实际上是第三方认证机构,利用可信计算技术对信任证据进行报告,以此来验证云服务的行为。需要CSE将其云基础设施与可信计算设施集成,并允许TER在云中安装“检查人员”。“检查人员”收集防篡改的信任证据,用来识别参与每个云应用程序的云服务,每个云服务都由证明其软件组件真实结构的数字摘要表示。因此,TER获得由可信硬件产生的一系列摘要值,但是TER需要来自CSE和SPD的信息才能解释这些值。
SPD能够定义软件组件属性。一般来说,SPD检查云服务软件组件的实现,并根据某些评估标准,通过在云中安装其“检查人员”来验证每个组件的属性。“检查人员”作为转换器,将软件组件的实现文件(二进制或脚本代码)或配置文件的加密散列值映射到属性,但是,SPD需要从CSE和TER获取所需信息,才能够确定云服务的软件组成和服务于目标应用程序的云服务集。
综上,角色模型的设计方式是,每个角色都拥有一段关键信息,用来证明云服务的可靠性,但是需要从其它角色那里获得关键信息,否则无法独立进行解释,因此,在未被识别的情况下,篡改信息的可能性被降到最低。
将SoP类比于政治哲学中的行政-立法-司法模式:SPD相当于立法机构,定义了应该做些什么来达到某种结果;CSE是执行人员,来执行满足协议所需的操作;TER作为司法机构,负责检查CSE并决定已经做了什么。
由于人们无法有效证明自身的可信赖性,因此,将TER和SPD从最初的云服务提供商中分离出来,便可以做出公正的判断。同时,SPD和TER从单一的可信赖第三方中将职责进一步分离出来,防止其获得过多的权力。这种明确的权力分离在每个角色间实施有效的限制,从而有助于实现权力的平衡。