OpenStack中的可信计算池的实现位于Nova项目,通过在Fmerscheduler(过滤调度器)中加入一个新的过滤器TmstedFilter,并与外部的一个认证服务进行交互来挑选出所有可信的主机,从而找到满足客户可信需求的目标主机环境来创建用户实例。
1.OpenStack中的可信硬件平台
根据图11-7的可信结构图,可信计算的基础是可信硬件平台,目前的OpenStack的可信计算是基于Intel在Openstack Essex版本时提出了可信计算池的特性,基于Intel TXT(可信执行技术)。
Intel TXT技术首先出现在Intel博锐系列商用台式机平台上,现在己经扩展到服务器平台,它可以帮助防御通常相对较难应付的软件攻击,比如:
·尝试插入不可信的虚拟机监控器(rootkit)。
·专门用于获取内存中秘密信息的重置攻击。
·BIOS及固件更新攻击等。
基于TXT的可信启动可以帮助加强对平台的控制,具体如下:
·在启动过程启用隔离和检测篡改。
·补充运行时保护。
·降低支持和补救成本。
·通过基于硬件的信任增加合规保证。
·为安全和策略应用提供信任状态来控制工作负载。
基于TXT的平台同时集成了如下组件提供可信启动,这些组件包括:
·支持TXT技术和虚拟化技术的处理器。
·支持设备虚拟化技术的芯片组。
·可信平台模块。
·支持TXT和TPM的BIOS,其中必须包含Intel公司专门为TXT编写并签名的己验证代码模块(ACMs)。
·支持TXT的操作系统和VMM。
2.OpenStack中的可信认证
OpenStack在F版本后添加了OpenAttestation,来实现可信计算认证。其可信认证过程提供了将可信启动后的系统完整性度量值与白名单进行比较的能力。可信认证可以识别系统的可信状态,为满足可视和可审查的需求提供帮助。
可信认证定义了3个主要实体:管理工具、认证服务和物理主机。
认证的流程如下
1)管理工具向认证服务发起认证请求。
2)认证服务生成一个随机数,发送给指定物理主机,并请求完整性报告。
3)物理主机的工作如下。
·通过本地TPM模块生成/装载认证专用密钥(AIK)。
·取得由CA颁发的认证专用证书(AIc)。
·调用TPM模块的Quote命令,生成以AIK为签名密钥的指定PCR集合的签名信息。
·生成度量日志。
·将由签名信息、度量日志和AIc组成的完成性报告发回认证服务。
4)认证服务具体如下。
·验证AIc的合法性。
·验证Quote签名信息。
·通过白名单验证PCR集合的可信状态。
·选择性验证度量日志的内容。
·将认证结果发回管理工具:指定物理主机可信/不可信。
OpenAttestation(OAT)开源项目使用TCG定义的远程认证协议,实现了标准的基于TPM的可信认证流程,为云计算及企业数据中心管理工具提供管理主机完整性验证的SDK。
通过基于Intel TXT的可信硬件平台,OpenStack通过OpenAttestation实现了可信计算认证,这样就可以在云计算中实现可信计算池,满足那些对安全等级高的云租户要求其应用或虚拟机必须运行在验证为可信的计算节点之上来保证运行环境的可信。